我喜欢通过TagHighlight插件在vim中高亮语法,该插件使用exuberant ctags生成一个tags文件,供vim用于语法。
直到最近,我仅使用常规的枚举类型,例如
enum count {ONE, TWO, THREE};
这个标记是正确的。我们的团队最近决定支持c++11,我尝试了
enum class count {ONE, TWO, THREE};
现在将枚举“count”标记为类而不是枚举,“ONE”和“TWO”被标记为类成员,“THREE”则未被标记。
我尝试使用--regex-c++=/^[ \t]*(enum)[ \t]+(class)[ \t]+([a-zA-Z0-9_]+)/\3/e,enum/
作为正则表达式,但没有成功。似乎enum class应该是从中生成ctags的标准类型,但我没有找到任何人抱怨。我是否愚蠢地忽略了一些简单的东西?
ctags-exuberant --version
Exuberant Ctags 5.9~svn20110310,版权所有(C)1996-2009 Darren Hiebert
编译时间:Sep 29 2014,16:06:25
地址:<dhiebert@users.sourceforge.net>,http://ctags.sourceforge.net
可选编译功能:+wildcards,+regex
在vim中自定义语法高亮的另一种方法也将不胜感激。
universal-ctags
:) - VanLaser