ctags没有指向tcl中名称空间的方法

时间:2017-04-12 09:22:40

标签: vim namespaces tcl ctags

namespace eval core {
 set b {}
}

proc core::edit_core {} {
}

proc test {} {
set x 34
}

test

edit_core

在测试时按CTRL +],然后指向定义, 在edit_core上,它没有找到cstags。

1 个答案:

答案 0 :(得分:0)

最新的Universal-ctags(https://ctags.io)可以处理命名空间。

[jet@localhost]~/var/ctags% cat foo.tcl
cat foo.tcl
namespace eval core {
 set b {}
}

proc core::edit_core {} {
}

proc test {} {
set x 34
}

test

edit_core

[jet@localhost]~/var/ctags% ./ctags -o - --fields=+K foo.tcl
./ctags -o - --fields=+K foo.tcl
core    foo.tcl /^namespace eval core {$/;" namespace
edit_core   foo.tcl /^proc core::edit_core {} {$/;" procedure   namespace:core::edit_core
test    foo.tcl /^proc test {} {$/;"    procedure
[jet@localhost]~/var/ctags% ./ctags -o - --fields=+K --extras=+q foo.tcl
./ctags -o - --fields=+K --extras=+q foo.tcl
core    foo.tcl /^namespace eval core {$/;" namespace
core::edit_core::edit_core  foo.tcl /^proc core::edit_core {} {$/;" procedure
edit_core   foo.tcl /^proc core::edit_core {} {$/;" procedure   namespace:core::edit_core
test    foo.tcl /^proc test {} {$/;"    procedure

[jet@localhost]~/var/ctags% ./ctags --list-kinds=Tcl
./ctags --list-kinds=Tcl
p  procedures
n  namespaces
[jet@localhost]~/var/ctags% ./ctags --list-kinds=ITcl
./ctags --list-kinds=ITcl
c  classes
m  methods