如何让exuberant-ctags解析"using"风格的typedefs?

6

我怎样才能让ctags解析using类型别名,例如下面的这个呢?

using FooPtr = std::shared_ptr<Foo>;

它只会挑选出使用了 typedef 声明的内容。

也许是时候更新C++支持了:如何向Exuberant Ctags添加新语言的支持。;-) - Scheff's Cat
exuberant ctags已经过时多年了!请看Mastake的答案。有一个新的衍生版本正在开发中。它也没有lambda和其他“新”东西的问题。顺便说一句:C++11已经发布7年了?我相信你休息了很长时间 :-) - Klaus
1个回答

5

通用ctags(https://ctags.io)是从Exuberant-ctags分支出来的,可以处理C++源代码中的'using'关键字:

[jet@localhost]/tmp% cat /tmp/foo.cpp 
using FooPtr = std::shared_ptr<Foo>;
[jet@localhost]/tmp% u-ctags -o - /tmp/foo.cpp
FooPtr  /tmp/foo.cpp    /^using FooPtr = std::shared_ptr<Foo>;$/;"  t   typeref:typename:std::shared_ptr<Foo>   file:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接