Universal-ctags (https://ctags.io) has a bibtex parser written from scratch.
I didn't merge this but I introduced code to support beamer in very different way in universal-ctags. https://github.com/universal-ctags/ctags/pull/2424
I didn't merge this but I introduced code to support beamer in very different way. https://github.com/universal-ctags/ctags/pull/2424
Could you make an issue for this topic at https://github.com/universal-ctags/ctags/issues ?
Jordi, do you need the support for beamer style?
Why should -I be needed for 'override'? Because there is no other way to make ctags emit enough good tags file you want. See https://sourceforge.net/p/ctags/code/HEAD/tree/ It seems that the develoment of ctags at sourceforge is stopped. C++-11 is too new language for ctags developed at sourceforge. However, -I option allows you to overcome the origial issue.
/^int foo() {$/ ctags should not give this. A tool reading tags file like vim recognizes the substring between / and / as a regular expression pattern. ^ int foo() {$ doesn't match any substring in the original input. I'm not sure that the tool can handle ^ int\nfoo() {$. However, I guess it cannot. At least the new pattern including \n may break compatiblities. foo t.cpp /^foo() {$/;" kind:f line:2 signature:() return:int The tool can handle this one well. Unofficial fork maintained at https://ctags.io...
Use '-I override' option. See ctags(1) man page about -I. [yamato@slave]/tmp/mozilla_yamato0% ctags -I override -o - ./parser.cpp ctags -I override -o - ./parser.cpp CustomOpAsmParser ./parser.cpp /^ CustomOpAsmParser(SMLoc nameLoc, StringRef opName, OperationParser &parser)$/;" f class:CustomOpAsmParser CustomOpAsmParser ./parser.cpp /^class CustomOpAsmParser : public OpAsmParser {$/;" c file: emittedError ./parser.cpp /^ bool emittedError = false;$/;" m class:CustomOpAsmParser file: getNameLoc...