旺盛的ctags忽略了python-types选项

时间:2017-09-13 17:27:39

标签: vim exuberant-ctags

我正在尝试为Python标准库生成一个ctags文件,以便我可以将它添加到我的Python项目中,以便为标准库函数获得正确的标记/突出显示。我不想为变量生成标签,因为这会使标签文件变得庞大,我真的只关心函数和类名。但是,Exuberant Ctags似乎忽略了我禁用变量标记的所有请求,并且仍然生成包含大量kind:v条目的标记文件。

这就是我运行Exuberant Ctags的方式:

cd /usr/lib/python3.5
sudo chmod o+w .
ctags --languages=python --python-kinds=-vi --tag-relative=yes -f ./tags --recurse --fields=+iaSszt --extra=+q .

(请注意,我暂时将/usr/lib/python3.5设为可写入,以便ctags可以在当前目录中创建标记文件;我使用的是--tag-relative,因为我想使用此标记文件使用Vim插件TagHighlight)。

以下是它生成的标签文件中的一些示例行,表明它忽略了我的选项和索引变量:

Array1Glob      test/pystone.py /^Array1Glob = [0]*51$/;"       kind:v
Array2Glob      test/pystone.py /^Array2Glob = [x[:] for x in [Array1Glob]*51]$/;"      kind:v
ArrayProxy      multiprocessing/managers.py     /^ArrayProxy = MakeProxyType('ArrayProxy', ($/;"        kind:v
ArticleInfo     nntplib.py      /^ArticleInfo = collections.namedtuple('ArticleInfo',$/;"       kind:v
...
Attribute       inspect.py      /^Attribute = namedtuple('Attribute', 'name kind defining_class object')$/;"    kind:v
AttributeList   xml/dom/minidom.py      /^AttributeList = NamedNodeMap$/;"      kind:v
AttributesImpl  xml/sax/expatreader.py  /^AttributesImpl = xmlreader.AttributesImpl$/;" kind:v
AttributesImpl  xml/sax/xmlreader.py    /^class AttributesImpl:$/;"     kind:c  inherits:
AttributesNSImpl        xml/sax/expatreader.py  /^AttributesNSImpl = xmlreader.AttributesNSImpl$/;"     kind:v

作为测试,我还尝试创建一个包含“--python-kinds = -vi”的〜/ .ctags文件,而不是在命令行上传递它,但这并没有区别。

发生了什么事?为什么忽略python-kinds=-vi

1 个答案:

答案 0 :(得分:2)

这是Exuberant Ctag的a bug,您可以使用universal-ctags代替。

这个bug在universal-ctags中已经是fixed