A.J.Mechelynck a écrit :
You can always add one or more lines of comments above or below the line including the pattern in a Vim script, or even, in most cases, at the end of the line; but IIUC you cannot insert comments in the middle of a pattern.
Ok. There is no solution so i decided to write functions that returns RE chunks in vimfiles/autoload/RE{,/XML}.vim

2 advantages to proceed like this :
- readable.
- reusable

For Exemple, the way to match an XML tag is almost a FAQ on this list. Why not provide something like the awsome Regexp::Common perl module ?

I wrote :

function RE#Magic()
   return '\v'

function RE#Submatch( regExp )
   return '('.a:regExp.')'

function RE#OptionnalSubmatch( regExp )
   return '(%('.a:regExp.'){0,1})'

function RE#XML#Ident()
   return '[[:alpha:]][[:alnum:]]*'

function RE#XML#NSIdent()
   let ident = RE#XML#Ident()
   " a namespace
   " : separator
   " a tagname
               \ RE#OptionnalSubmatch( ident ) .
               \ RE#OptionnalSubmatch( ':' ) .
               \ RE#OptionnalSubmatch( ident ) .

Comments and advices about it would be really nice.

To use perl regexps, you can of course embed perl statements in a perl-enabled version of Vim; but of course at the cost of making the script less portable.
I gave this solution away a long time ago. I think that all alien langages (langages other than viml) is the worst idea of the vim developper team.


Reply via email to