ctags中嵌套lua模块的防御
我有一个关于嵌套lua模块的问题,请允许我 说明: 假设我有一个名为ctags中嵌套lua模块的防御,lua,ctags,Lua,Ctags,我有一个关于嵌套lua模块的问题,请允许我 说明: 假设我有一个名为myscript.lua的lua脚本,它有一行代码 像这样: local foo = require('foo') foo.baz.example_function() foo.baz.bar.other_function() 这就是foo/的样子: foo ├── baz │ ├── bar.lua │ └── init.lua └── init.lua foo/init.lua由上面一行中的解释器加载。此外,f
myscript.lua的lua脚本,它有一行代码
像这样:
local foo = require('foo')
foo.baz.example_function()
foo.baz.bar.other_function()
这就是foo/
的样子:
foo
├── baz
│ ├── bar.lua
│ └── init.lua
└── init.lua
foo/init.lua
由上面一行中的解释器加载。此外,foo/init.lua
本身加载许多其他文件,如foo/bla.lua
和foo/baz/init.lua
和foo/baz/bar.lua
。因此,foo/baz/init.lua
和foo/baz/bar.lua
中的函数(例如baz.example_function()
和
bar.other_function()
)在myscript.lua
中被调用,如下所示:
local foo = require('foo')
foo.baz.example_function()
foo.baz.bar.other_function()
问题是,当我运行ctags.
时,我可以在生成的标记中看到如下条目:
baz.example_function foo/baz/init.lua /^function baz.example_function()$/;" f
bar.other_function foo/baz/bar.lua /^function bar.other_function()$/;" f
当我编辑myscript.lua时,我的光标位于
foo.baz.example_function()
,我想跳转到
baz.example_function()
位于文件中
foo/baz/init.lua
,我的文本编辑器告诉我它找不到它
我理解为什么它找不到定义,因为
标记
文件中的定义用于baz。示例\u函数
——无
前面的foo.
。如果我手动将前面的foo.
添加到
定义我可以轻松跳转到foo/baz/init.lua
我的问题是:我如何告诉ctags
写这篇文章
foo.
自动在标记文件中?我有很多这样的函数,我希望能够以这种方式跳转到它们的定义
非常感谢您的帮助,谢谢