Source Insight无法跳转到函数定义

我的语言是lua。 许多文件中的函数都命名为“Table_XXX”,例如图1。在table.lua的符号窗口中,它们都被标记为相同的符号——“Table”,例如图1。但是,在其他文件中(甚至在同一个文件中)调用函数时,Source Insight无法识别该函数并跳转到其定义。 所以,我应该怎么做来解决这个问题呢? 非常感谢。 样本图片

样本图片

点赞
用户374835
用户374835

很不幸,你不能指望从 SI 的工作人员那里得到任何帮助,你只能自己动手做。

打开 Lua.xclf(它是 XML 格式,甚至可以拖放到 SI 中)。

注意:

    <Expression
        SymbolType="Function"
        Pattern="function\w+\([a-zA-Z][a-zA-Z0-9]*\)"
        RegexType="Source Insight"
        />

这个正则表达式 function\w+\([a-zA-Z][a-zA-Z0-9]*\) 没有 [ _ ] 字符。如果你已经在使用,建议切换到“Perl 兼容”,可以更好地控制。

你也可以在选项/首选项/语言中双击语言和“自定义解析”中进行编辑。

还要注意,“关键字”中的 [function] 被声明为“控制”,而你可能想要“声明函数”或“声明方法”。

你需要仔细检查它(无论是在 XML 还是 UI 中),你可能会发现许多其他问题。如果你达到了较好的状态,需要自己发布(比如在 https://pastebin.com/),然后在这里发布链接。

理论上,你可以写信给他们的支持团队,问问他们是否需要一个更好的文件,但不要抱太大的期望。SI 完全被忽视了,要是你想起它的黄金日子(整个 Windows 版本都带有 SI——多次),都会让你哭泣。这就是为什么人们放弃了。所以,现在你只能 DIY,从其他编辑器中找到一些高亮文件,如果可以的话,复制正则表达式即可。

也许 IBM 可以买下他们的公司——就在他们支付红帽之后 :-)。

2018-11-14 07:32:14