Merge pull request #7414 from bfredl/bufhl_new

bufhl: support creating new groups
This commit is contained in:
Björn Linse 2017-10-20 12:40:21 +02:00 committed by GitHub
commit 6338199b76
2 changed files with 35 additions and 2 deletions

View File

@ -793,7 +793,11 @@ Integer nvim_buf_add_highlight(Buffer buffer,
col_end = MAXCOL; col_end = MAXCOL;
} }
int hlg_id = syn_name2id((char_u *)(hl_group.data ? hl_group.data : "")); int hlg_id = 0;
if (hl_group.size > 0) {
hlg_id = syn_check_group((char_u *)hl_group.data, (int)hl_group.size);
}
src_id = bufhl_add_hl(buf, (int)src_id, hlg_id, (linenr_T)line+1, src_id = bufhl_add_hl(buf, (int)src_id, hlg_id, (linenr_T)line+1,
(colnr_T)col_start+1, (colnr_T)col_end); (colnr_T)col_start+1, (colnr_T)col_end);
return src_id; return src_id;

View File

@ -24,7 +24,8 @@ describe('Buffer highlighting', function()
[6] = {foreground = Screen.colors.DarkCyan}, -- Identifier [6] = {foreground = Screen.colors.DarkCyan}, -- Identifier
[7] = {bold = true}, [7] = {bold = true},
[8] = {underline = true, bold = true, foreground = Screen.colors.SlateBlue}, [8] = {underline = true, bold = true, foreground = Screen.colors.SlateBlue},
[9] = {foreground = Screen.colors.SlateBlue, underline = true} [9] = {foreground = Screen.colors.SlateBlue, underline = true},
[10] = {foreground = Screen.colors.Red}
}) })
curbuf = request('nvim_get_current_buf') curbuf = request('nvim_get_current_buf')
end) end)
@ -255,4 +256,32 @@ describe('Buffer highlighting', function()
| |
]]) ]])
end) end)
it('works with new syntax groups', function()
insert([[
fancy code in a new fancy language]])
add_hl(-1, "FancyLangItem", 0, 0, 5)
screen:expect([[
fancy code in a new fancy languag^e |
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
|
]])
command('hi FancyLangItem guifg=red')
screen:expect([[
{10:fancy} code in a new fancy languag^e |
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
|
]])
end)
end) end)