Monday, June 1, 2015

Re: How does vim determine the way the text is colored in the section of ":help group-name"?

2015-06-01 11:22 GMT+03:00 LCD 47 <lcd047@gmail.com>:
> On 31 May 2015, Peng Yu <pengyu.ut@gmail.com> wrote:
>> Hi,
>>
>> I see the following text in ":help group-name" colored. But when
>> I checked the file syntax.txt, I didn't see anything special for
>> indicating the colors. Could anybody let me know how vim determines
>> the colors? Thanks.
> [...]
>
> This function (that I picked up from somebody else a few years ago)
> is pretty useful for showing the exact highlighting groups in use:
>
> nnoremap <silent> <Leader>hi :call <SID>SynStack()<CR>
> function! <SID>SynStack()
> if !exists("*synstack")
> return
> endif
> echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
> endfunc

I define this as a command:

command -bar ShowSyntax :echo 'Normal
'.join(map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")'))

. Note: `Normal` at the start. Does not let you forget what is the
first layer because it is first *always*. You can have empty
synstack() output and empty `getmatches()`, but still have
non-terminal-default highlighting: this would be Normal. Also has no
visual garbage arising from list usage (`[`, `'`…`'`, `]`).

>
> /lcd
>
> --
> --
> You received this message from the "vim_use" 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
>
> ---
> You received this message because you are subscribed to the Google Groups "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
--
You received this message from the "vim_use" 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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment