diff options
| -rw-r--r-- | queries/cpp/highlights.scm | 101 | ||||
| -rw-r--r-- | tests/query/highlights/cpp/static-namespace-functions.cpp | 16 |
2 files changed, 77 insertions, 40 deletions
diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm index 586067155..97a3b9f39 100644 --- a/queries/cpp/highlights.scm +++ b/queries/cpp/highlights.scm @@ -49,58 +49,93 @@ (destructor_name (identifier) @method) +; functions (function_declarator - declarator: (qualified_identifier - name: (identifier) @function)) + (qualified_identifier + (identifier) @function)) (function_declarator - declarator: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function))) + (qualified_identifier + (qualified_identifier + (identifier) @function))) (function_declarator - declarator: (template_function - name: (identifier) @function)) + (qualified_identifier + (qualified_identifier + (qualified_identifier + (identifier) @function)))) +((qualified_identifier + (qualified_identifier + (qualified_identifier + (qualified_identifier + (identifier) @function)))) @_parent + (#has-ancestor? @_parent function_declarator)) + (function_declarator - declarator: (template_method - name: (field_identifier) @method)) -((function_declarator - declarator: (qualified_identifier - name: (identifier) @constructor)) - (#lua-match? @constructor "^[A-Z]")) + (template_function + (identifier) @function)) (operator_name) @function "operator" @function "static_assert" @function.builtin (call_expression - function: (qualified_identifier - name: (identifier) @function.call)) + (qualified_identifier + (identifier) @function.call)) (call_expression - function: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function.call))) + (qualified_identifier + (qualified_identifier + (identifier) @function.call))) (call_expression - function: + (qualified_identifier + (qualified_identifier (qualified_identifier - name: (qualified_identifier - name: (qualified_identifier - name: (identifier) @function.call)))) + (identifier) @function.call)))) +((qualified_identifier + (qualified_identifier + (qualified_identifier + (qualified_identifier + (identifier) @function.call)))) @_parent + (#has-ancestor? @_parent call_expression)) + (call_expression - function: (template_function - name: (identifier) @function.call)) + (template_function + (identifier) @function.call)) (call_expression - function: (qualified_identifier - name: (template_function - name: (identifier) @function.call))) + (qualified_identifier + (template_function + (identifier) @function.call))) +(call_expression + (qualified_identifier + (qualified_identifier + (template_function + (identifier) @function.call)))) (call_expression - function: + (qualified_identifier + (qualified_identifier (qualified_identifier - name: (qualified_identifier - name: (template_function - name: (identifier) @function.call)))) + (template_function + (identifier) @function.call))))) +((qualified_identifier + (qualified_identifier + (qualified_identifier + (qualified_identifier + (template_function + (identifier) @function.call))))) @_parent + (#has-ancestor? @_parent call_expression)) +; methods +(function_declarator + (template_method + (field_identifier) @method)) (call_expression - function: (field_expression - field: (field_identifier) @method.call)) + (field_expression + (field_identifier) @method.call)) + +; constructors + +((function_declarator + (qualified_identifier + (identifier) @constructor)) + (#lua-match? @constructor "^[A-Z]")) ((call_expression function: (identifier) @constructor) diff --git a/tests/query/highlights/cpp/static-namespace-functions.cpp b/tests/query/highlights/cpp/static-namespace-functions.cpp index 2bea488a3..3d16c43cf 100644 --- a/tests/query/highlights/cpp/static-namespace-functions.cpp +++ b/tests/query/highlights/cpp/static-namespace-functions.cpp @@ -1,12 +1,14 @@ // Issue #2396 -int main() -{ - B::foo(); +int main() +{ + B::foo(); // ^ @function.call - Foo::A::foo(); + Foo::A::foo(); // ^ @function.call - Foo::a::A::foo(); + Foo::a::A::foo(); // ^ @function.call - return 0; -} + Foo::a::A::B::foo(); + // ^ @function.call + return 0; +} |
