On Sat, Jul 24, 2010 at 9:09 PM, Benjamin Fritz <[email protected]> wrote:
>
> Yup, I saw it, thanks. I'm playing with it now. Hopefully I'll figure
> it out on my own, but it's acting weird. Maybe I'm doing something
> wrong but here's what I see:
>
> If I call syn_get_id once prior to calling get_syntax_info, then after
> the first match of a concealed item, the same sequence number is
> returned for every other column in the line (looking at every column
> sequentially). Additionally, the syntax flags are constantly showing
> zero for the HL_CONCEAL bit, even when there is something concealable
> at that column.
>
> If I call syn_get_id TWICE prior to calling get_syntax_info (just
> calling it back-to-back works), then after the first syntax
> highlighted item, every column after that gets a new sequence number,
> regardless of whether a new syntax match is at that column. Also, the
> HL_CONCEAL bit is being set as expected, but since the sequence number
> constantly changes, this does little good.
>

I wrote the above after trying for a over an hour to figure out what
was going on.

Out of desperation, I made one simple change, changing the keep_state
argument from TRUE to FALSE on the call to syn_get_id, and now it
works as I expected. I haven't yet wrapped my head around why this
works, but with a couple more tweaks, here is the updated patch.

Based on changeset e6f1424dd66a: Let 'v' flag in 'concealcursor' apply
to all lines in the Visual area.

This should fix for multi-byte conceal characters (but I haven't tried
that out yet), and also uses the new match sequence number in 2html
for consecutive regions. TOhtml should work with conceal with this
patch, except it doesn't duplicate the two oddities I noted
previously.

-- 
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

Attachment: synconceallevel_func.patch
Description: Binary data

Raspunde prin e-mail lui