ctags中嵌套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

我有一个关于嵌套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
由上面一行中的解释器加载。此外,
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.
自动在
标记文件中?我有很多这样的函数,我希望能够以这种方式跳转到它们的定义

非常感谢您的帮助,谢谢