首页 > 解决方案 > Source Insight 无法跳转到函数定义

问题描述

我的语言是lua。文件table.lua中的很多函数都被命名为“Table_XXX”,如图1。在table.lua的符号窗口中,它们都被标记为同一个符号----“Table”,如图1。而在其他的函数调用文件(即使在同一个文件中),Source Insight 无法识别函数并跳转到其定义。那么,我应该怎么做才能解决这个问题呢?多谢。 示例图像

示例图像

标签: luasource-insight

解决方案


不幸的是,你不能指望 SI 人员的任何帮助,所以它必须是一个 DIY 的东西。

打开 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 Compatible”以获得更好的控制。

您还可以在选项/首选项/语言中编辑它,双击语言和自定义解析。

另请注意,在关键字中 [function] 被声明为“控制”,您可能需要“声明函数”或“声明方法”。

您必须仔细检查它(XML 或 UI 中的枯萎),您可能会发现许多其他问题。如果你达到一个好的状态,你必须自己发布它(比如在https://pastebin.com/上),然后在此处发布链接。

从理论上讲,您可以写信给他们的支持,询问他们是否想要更好的文件,但不要期望太多。SI 最终被如此忽视,以至于如果您还记得那是黄金时期,您可能会开始哭泣(整个 Windows 都附带 SI - 好几次)。这就是人们放弃的原因。所以,现在它是 DIY - 从其他编辑器中找到一些荧光笔文件并复制正则表达式是可以的。

也许 IBM 可以购买它们——在他们为 Red Hat 付费之后 :-)


推荐阅读