aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/cpp/highlights.scm10
-rw-r--r--tests/query/highlights/cpp/static-namespace-functions.cpp12
2 files changed, 22 insertions, 0 deletions
diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm
index c991b956c..46ce27bb2 100644
--- a/queries/cpp/highlights.scm
+++ b/queries/cpp/highlights.scm
@@ -60,6 +60,16 @@
(call_expression
function: (qualified_identifier
name: (identifier) @function))
+(call_expression
+ function: (qualified_identifier
+ name: (qualified_identifier
+ name: (identifier) @function)))
+(call_expression
+ function:
+ (qualified_identifier
+ name: (qualified_identifier
+ name: (qualified_identifier
+ name: (identifier) @function))))
(call_expression
function: (field_expression
diff --git a/tests/query/highlights/cpp/static-namespace-functions.cpp b/tests/query/highlights/cpp/static-namespace-functions.cpp
new file mode 100644
index 000000000..1658d5117
--- /dev/null
+++ b/tests/query/highlights/cpp/static-namespace-functions.cpp
@@ -0,0 +1,12 @@
+// Issue #2396
+
+int main()
+{
+ B::foo();
+ // ^ @function
+ Foo::A::foo();
+ // ^ @function
+ Foo::a::A::foo();
+ // ^ @function
+ return 0;
+}