gpt4 book ai didi

c++11 - exuberant ctags 支持 c++11 吗?

转载 作者:行者123 更新时间:2023-12-03 00:00:14 28 4
gpt4 key购买 nike

我喜欢通过 TagHighlight 插件在 vim 中突出显示我的语法,该插件使用丰富的 ctags 来生成 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/作为正则表达式,但不成功。看来枚举类应该是生成 ctags 的标准类型,但还没有发现有人提示它。我是否愚蠢地忽略了一些简单的事情?

ctags-exuberant --version
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Sep 29 2014, 16:06:25
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex

vim 中自定义语法突出显示的替代方法也将受到赞赏。

最佳答案

有一个更新版本的 exuberant ctags 称为通用 ctags 可用 here 。与丰富的 ctags 相比,它支持 C++11 以及更多语言(完整列表为 here )。如果您使用的是 Mac,您可以使用 homebrew 安装

brew tap universal-ctags/universal-ctags
brew install --HEAD universal-ctags

通用 ctags 只是 exuberant ctags 的一个分支,应该可以用作它的完整替代品。

关于c++11 - exuberant ctags 支持 c++11 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31329387/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com