mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 22:18:33 +00:00
[Backport release-0.9] feat(highlight): Allow hyphens (-) in highlight group names (#25661)
feat(highlight): allow hyphens (-) in highlight group names
Fixes: https://github.com/neovim/neovim/issues/23184
(cherry picked from commit f37916b93b
)
Co-authored-by: Gregory Anders <greg@gpanders.com>
This commit is contained in:
![41898282+github-actions[bot]@users.noreply.github.com](/assets/img/avatar_default.png)
committed by
GitHub

parent
01f1ac36a9
commit
87bfa82bdf
@@ -188,8 +188,8 @@ thing. These are then linked to a highlight group that specifies the color.
|
|||||||
A syntax group name doesn't specify any color or attributes itself.
|
A syntax group name doesn't specify any color or attributes itself.
|
||||||
|
|
||||||
The name for a highlight or syntax group must consist of ASCII letters,
|
The name for a highlight or syntax group must consist of ASCII letters,
|
||||||
digits, underscores, periods and `@` characters. As a regexp it is
|
digits, underscores, periods, hyphens, and `@` characters. As a regexp it is
|
||||||
`[a-zA-Z0-9_.@]*`. The maximum length of a group name is about 200 bytes.
|
`[a-zA-Z0-9_.@-]*`. The maximum length of a group name is about 200 bytes.
|
||||||
*E1249*
|
*E1249*
|
||||||
|
|
||||||
To be able to allow each user to pick their favorite set of colors, there must
|
To be able to allow each user to pick their favorite set of colors, there must
|
||||||
|
@@ -482,9 +482,9 @@ Highlight groups:
|
|||||||
using |n| or |N|
|
using |n| or |N|
|
||||||
|hl-CursorLine| is low-priority unless foreground color is set
|
|hl-CursorLine| is low-priority unless foreground color is set
|
||||||
|hl-VertSplit| superseded by |hl-WinSeparator|
|
|hl-VertSplit| superseded by |hl-WinSeparator|
|
||||||
Highlight groups names are allowed to contain the characters `.` and `@`.
|
Highlight groups names are allowed to contain the characters `.`, `@`, and `-`.
|
||||||
It is an error to define a highlight group with a name that doesn't match
|
It is an error to define a highlight group with a name that doesn't match
|
||||||
the regexp `[a-zA-Z0-9_.@]*` (see |group-name|).
|
the regexp `[a-zA-Z0-9_.@-]*` (see |group-name|).
|
||||||
|
|
||||||
Macro/|recording| behavior
|
Macro/|recording| behavior
|
||||||
Replay of a macro recorded during :lmap produces the same actions as when it
|
Replay of a macro recorded during :lmap produces the same actions as when it
|
||||||
|
@@ -1947,7 +1947,7 @@ static int syn_add_group(const char *name, size_t len)
|
|||||||
if (!vim_isprintc(c)) {
|
if (!vim_isprintc(c)) {
|
||||||
emsg(_("E669: Unprintable character in group name"));
|
emsg(_("E669: Unprintable character in group name"));
|
||||||
return 0;
|
return 0;
|
||||||
} else if (!ASCII_ISALNUM(c) && c != '_' && c != '.' && c != '@') {
|
} else if (!ASCII_ISALNUM(c) && c != '_' && c != '.' && c != '@' && c != '-') {
|
||||||
// '.' and '@' are allowed characters for use with treesitter capture names.
|
// '.' and '@' are allowed characters for use with treesitter capture names.
|
||||||
msg_source(HL_ATTR(HLF_W));
|
msg_source(HL_ATTR(HLF_W));
|
||||||
emsg(_(e_highlight_group_name_invalid_char));
|
emsg(_(e_highlight_group_name_invalid_char));
|
||||||
|
@@ -106,6 +106,7 @@ describe('semantic token highlighting', function()
|
|||||||
exec_lua([[
|
exec_lua([[
|
||||||
bufnr = vim.api.nvim_get_current_buf()
|
bufnr = vim.api.nvim_get_current_buf()
|
||||||
vim.api.nvim_win_set_buf(0, bufnr)
|
vim.api.nvim_win_set_buf(0, bufnr)
|
||||||
|
vim.bo[bufnr].filetype = 'some-filetype'
|
||||||
client_id = vim.lsp.start({ name = 'dummy', cmd = server.cmd })
|
client_id = vim.lsp.start({ name = 'dummy', cmd = server.cmd })
|
||||||
]])
|
]])
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user