2

几个月前我已经切换到 sublime2,我非常喜欢它!

我只是想知道是否有办法在触发 Ctrl+R 快捷键时添加要识别的符号定义。

我是一名 Groovy/Grails 程序员,我们将闭包作为控制器中的第一级成员(是的,还不能在工作中切换到 Grails 2.X)。触发 Goto Symbol 功能时,我无法选择浏览我的操作定义(闭包)。

似乎它只是在寻找“ [modifier] returnType name([someArgs]) {} ”语法,我想添加一些规则来识别“ def actionName = {} ”会很容易,但我一直无法找到添加此“功能”的任何文件。

这可能吗?。如果是这样,我必须修改哪个文件?

在此先感谢您的帮助!

4

1 回答 1

1

我不是 Groovy 程序员。但是,我从 Groovy 官方站点获取了示例代码,并在其中添加了闭包来测试我的解决方案。它似乎工作!

简要地:

  • 进入 Sublime 菜单,然后选择“Browse Packages...”
  • 打开“Groovy”目录
  • 在 Sublime 中编辑“Groovy.tmLanguage”文件

转到第 860 行。它应该是(?=\() # opening parens. 将该行替换为以下行:

(?=
    (?:\() # opening parens 
    |
    (?:=\s*\{) # or closure
)

然后,保存“Groovy.tmLanguage”文件;Sublime 应该立即重新加载它。你完成了!

我建议在编辑语言定义的同时打开一个 Groovy 源代码文件——你应该会立即看到闭包的语法着色。它们现在也将在触发“转到符号”功能时出现。

如果上面的新正则表达式搞砸了,请告诉我!:-) 干杯

于 2013-03-18T22:24:58.003 回答