0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 9.0.1767: '.-' no allowed in highlight group names

Problem:  '.-' no allowed in highlight group names
Solution: Allow dot and hyphen characters in highlight group names

Allow dots and hyphens in group names. There does not seem
to be any reason for these to be disallowed.

closes: #12807

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
This commit is contained in:
Gregory Anders 2023-08-20 19:14:03 +02:00 committed by Christian Brabandt
parent bedc69f9d6
commit d4376dc3eb
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
3 changed files with 8 additions and 6 deletions

View File

@ -214,10 +214,10 @@ A syntax group name is to be used for syntax items that match the same kind of
thing. These are then linked to a highlight group that specifies the color. 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, digits The name for a highlight or syntax group must consist of ASCII letters,
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give digits, underscores, dots, or hyphens. As a regexp: "[a-zA-Z0-9_.-]*".
an error when using other characters. The maximum length of a group name is However, Vim does not give an error when using other characters. The maximum
about 200 bytes. *E1249* length of a group name is about 200 bytes. *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
be preferred names for highlight groups that are common for many languages. be preferred names for highlight groups that are common for many languages.

View File

@ -3452,7 +3452,7 @@ syn_add_group(char_u *name)
char_u *p; char_u *p;
char_u *name_up; char_u *name_up;
// Check that the name is ASCII letters, digits and underscore. // Check that the name is valid (ASCII letters, digits, underscores, dots, or hyphens).
for (p = name; *p != NUL; ++p) for (p = name; *p != NUL; ++p)
{ {
if (!vim_isprintc(*p)) if (!vim_isprintc(*p))
@ -3461,7 +3461,7 @@ syn_add_group(char_u *name)
vim_free(name); vim_free(name);
return 0; return 0;
} }
else if (!ASCII_ISALNUM(*p) && *p != '_') else if (!ASCII_ISALNUM(*p) && *p != '_' && *p != '.' && *p != '-')
{ {
// This is an error, but since there previously was no check only // This is an error, but since there previously was no check only
// give a warning. // give a warning.

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1767,
/**/ /**/
1766, 1766,
/**/ /**/