Multiple conceal matches/regions get collapsed into a single character.  
I'm not sure if this is intended, but it is certainly confusing.  It 
also prevents at least one example in the documentation from working 
sensibly:

e.g., from :help :syn-cchar

syntax match Entity "&" conceal cchar=&

But, if you also define:

syntax match Entity "&lt;" conceal cchar=<

A line with:

&amp;&lt;
collapses to:
&

Whereas:
&lt;&amp;
collapses to:
<

In the 'Greek characters in TeX' case (see vim-use), the Greek chars and 
superscripts, etc. are defined like:

syntax match texGreek '\\alpha\>' contained conceal cchar=α
syntax match texGreek '\\beta\>' contained conceal cchar=β
...etc...
syntax match texSuperscript '\^2' contained conceal cchar=²
...etc...

So:

$\alpha^2$
$\alpha\beta$
$\alpha^2\beta$

all collapse to:

$α$

Personally, I think the behavior should be to collapse grouped on 
cchar/null.  Using an example that has some corner cases:

e.g.
syntax match a /a/ conceal
syntax match a /b/ cchar=  conceal
syntax match a /c/ conceal cchar=C
syntax match a /d/ conceal

Then:
"abcd"
collapses to:
" C "

(/a/ and /b/ are grouped using default 'listchars' where their cchar's 
both equate to cchar=' '.  /d/ is not grouped with /c/, even though it 
doesn't define a cchar, because 'C' != ' '.)

And speaking of corner cases, is there a way to get cchar=' ' or some 
other syntax to be recognized as an explicit cchar of <space>?  It seems 
odd that 'cchar= ' is whitespace-sensitive.

-- 
Best,
Ben

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui