From 27659bdef5000de4cdf79ca0c154f7c9ad1dcd01 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ji=C5=99=C3=AD=20Techet?= Date: Sat, 27 Apr 2024 19:15:59 +0200 Subject: [PATCH] Disable roles for macro kinds in C/C++ When role kinds are enabled, they report tags also for checks like #ifdef MY_MACRO in which we are not interested. --- src/tagmanager/tm_parser.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tagmanager/tm_parser.c b/src/tagmanager/tm_parser.c index 650667237..3138b8e70 100644 --- a/src/tagmanager/tm_parser.c +++ b/src/tagmanager/tm_parser.c @@ -1557,13 +1557,16 @@ gboolean tm_parser_enable_role(TMParserType lang, gchar kind) { switch (lang) { + case TM_PARSER_C: + case TM_PARSER_CPP: + return kind != 'd'; case TM_PARSER_GDSCRIPT: - return kind == 'c' ? FALSE : TRUE; + return kind != 'c'; case TM_PARSER_GO: /* 'p' is used both for package definition tags and imported package * tags and we can't tell which is which just by kind. By disabling * roles for this kind, we only get package definition tags. */ - return kind == 'p' ? FALSE : TRUE; + return kind != 'p'; } return TRUE; } -- 2.11.4.GIT