I'm trying to create a vim syntax file, and I'd like to match the following bit of text:
@[one two three four]
Basically, I want to match one and two as two separate matches, and I don't care about three and four (or anything after them). I also don't want to include the @[ delimiter at the beginning of the expression.
I tried doing this with regions, like so:
syn region langParamOne matchgroup=langListStart start=/@\[/ end=/\s\|\]/
syn region langParamTwo matchgroup=langListStart start=/@\[\S\+\s\+/ end=/\s\|\]/
Unfortunately, not only does this look messy, but vim will only match one of the regions, since one contains the other.
How can I set up a match for this syntax, but not include the starting @[ in the match?
How about this:
syn region langParam matchgroup=langListStart start=/@\[/ end=/\]/ contains=langParamOne,langParamTwo
syn match langParamOne /\(@\[\)\@<=\S\+/ contained
syn match langParamTwo /\(@\[\S\+\s\)\@<=\S\+/ contained
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With