I’m writing a .ctags file for a custom language… Like most languages, it allows for multiple variable declarations in one line.. i.e.:
int a, b, c;
I have a basic regex which recognizes ‘a’:
--regex-mylang=/^[ \t]*int[ \t]*([a-zA-Z_0-9]+)/\1/v,variable/
How do I modify this to have it match ‘b’ and ‘c’, as well? I can’t find anything in ctags documentation that deals with multiple matches in a single line.
After going through this for a few hours, I’m convinced it can’t be done. No matter what, the regular expression will only expand to one tag per line. Even if you put \1 \2 \3 … as the expansion, that would just cause a tag consisting of multiple matches, instead of one tag per match.
It parses the C example correctly because inside the ctags source code it uses an actual code parser, not a regexp.