mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-15 09:50:04 -04:00
highlights(c/cpp): highlight case labels as constants
This commit is contained in:
parent
1d3111ccb1
commit
e4675bc410
4 changed files with 50 additions and 0 deletions
|
|
@ -139,6 +139,8 @@
|
||||||
(#lua-match? @constant "^[A-Z][A-Z0-9_]+$"))
|
(#lua-match? @constant "^[A-Z][A-Z0-9_]+$"))
|
||||||
(enumerator
|
(enumerator
|
||||||
name: (identifier) @constant)
|
name: (identifier) @constant)
|
||||||
|
(case_statement
|
||||||
|
value: (identifier) @constant)
|
||||||
|
|
||||||
;; Preproc def / undef
|
;; Preproc def / undef
|
||||||
(preproc_def
|
(preproc_def
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,8 @@
|
||||||
(#lua-match? @type "^[A-Z]"))
|
(#lua-match? @type "^[A-Z]"))
|
||||||
((namespace_identifier) @constant
|
((namespace_identifier) @constant
|
||||||
(#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
|
(#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
|
||||||
|
(case_statement
|
||||||
|
value: (qualified_identifier (identifier) @constant))
|
||||||
(namespace_definition
|
(namespace_definition
|
||||||
name: (identifier) @namespace)
|
name: (identifier) @namespace)
|
||||||
|
|
||||||
|
|
|
||||||
21
tests/query/highlights/c/enums-as-constants.c
Normal file
21
tests/query/highlights/c/enums-as-constants.c
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
enum Foo{
|
||||||
|
a,
|
||||||
|
// ^ @constant
|
||||||
|
aa,
|
||||||
|
// ^ @constant
|
||||||
|
C,
|
||||||
|
};
|
||||||
|
|
||||||
|
void foo(enum Foo f){
|
||||||
|
switch ( f ) {
|
||||||
|
case a:
|
||||||
|
// ^ @constant
|
||||||
|
break;
|
||||||
|
case aa:
|
||||||
|
// ^ @constant
|
||||||
|
break;
|
||||||
|
case C:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
25
tests/query/highlights/cpp/enums-as-constants.cpp
Normal file
25
tests/query/highlights/cpp/enums-as-constants.cpp
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
enum class Foo{
|
||||||
|
a,
|
||||||
|
// ^ @constant
|
||||||
|
aa,
|
||||||
|
// ^ @constant
|
||||||
|
C,
|
||||||
|
// ^ @constant
|
||||||
|
};
|
||||||
|
|
||||||
|
void foo(Foo f){
|
||||||
|
switch ( f ) {
|
||||||
|
case Foo::a:
|
||||||
|
// ^ @type
|
||||||
|
// ^ @namespace
|
||||||
|
// ^ @constant
|
||||||
|
break;
|
||||||
|
case Foo::aa:
|
||||||
|
// ^ @constant
|
||||||
|
break;
|
||||||
|
case Foo::C:
|
||||||
|
// ^ @constant
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue