From 27f5e99cdd1b4e7f6a5cc30016d990ebf81a561c Mon Sep 17 00:00:00 2001 From: Gregory Anders Date: Thu, 1 Jul 2021 15:16:23 -0600 Subject: c: don't treat uppercase functions as constants A macro function such as #define FOO(x) ... should be highlighted with @function.macro, even though the name is in all-caps (which would otherwise be treated as a constant). Similarly, call sites of such functions, e.g. int y = FOO(x); should be highlighted with @function instead of @constant. This is as simple as moving the query definition for macro functions after the query definition for constants. --- queries/c/highlights.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/queries/c/highlights.scm b/queries/c/highlights.scm index 757dc232..8a9b092a 100644 --- a/queries/c/highlights.scm +++ b/queries/c/highlights.scm @@ -111,15 +111,6 @@ (number_literal) @number (char_literal) @character -(call_expression - function: (identifier) @function) -(call_expression - function: (field_expression - field: (field_identifier) @function)) -(function_declarator - declarator: (identifier) @function) -(preproc_function_def - name: (identifier) @function.macro) [ (preproc_arg) (preproc_defined) @@ -157,6 +148,15 @@ argument: (_) @constant (#eq? @_u "#undef")) +(call_expression + function: (identifier) @function) +(call_expression + function: (field_expression + field: (field_identifier) @function)) +(function_declarator + declarator: (identifier) @function) +(preproc_function_def + name: (identifier) @function.macro) (comment) @comment -- cgit v1.2.3