This is so close to what I need, the problem is it shows up in Goto Symbol as MACRO_NAME, is it possible to tease out the function name so it could look like MACRO_NAME::function_name ?
Thanks for the assist!
Edit:
I think this gives me enough of an idea to proceed on my own, it is still confusing but I’m starting to grasp how this works, I will see if I can figure this out.
Edit x2:
Getting closer, this gives me the entire line in Goto Symbol, which is better than what I was getting:
- match: (?=^{{macro_identifier}}\s*\()
push:
- match: '.*'
scope: entity.name.function.c++
pop: true
Edit x3
Even closer now, this makes the MACRO_COMMAND lose it’s macro scope, but otherwise works.
- match: (?=(^{{macro_identifier}})\s*\(.*$)
captures:
1: meta.preprocessor.macro.c++
push:
- match: '\(\s*(.*),(.*)\)'
captures:
1: entity.name.function.c++
2: variable.parameter.c++
pop: true