3

我正在使用 Rails 并在 SublimeText 中使用 Ruby 1.9,但它使用 Ruby 1.9 的新哈希语法进行了一些古怪的突出显示。

例如,使用以下散列,这对于 Rails 来说很常见:

<%= link_to some_page_here_path, class: "btn btn-primary" %>

class关键字实际上不是真正的关键字而只是一个简单的哈希键时,它会突出显示。如果它被设置为符号(在 Ruby 1.9 中)而不是保留字,我更喜欢它。这也适用于其他保留字,“for”、“while”、“do”等。

有没有办法在现有的 Ruby.tmLanguage 或已经完成的 tmLanguage 文件中完成这项工作?感谢任何帮助。谢谢!

4

1 回答 1

6

我遇到了同样的问题,所以我继续编辑 Ruby.tmLanguage 文件来修复它。

您可以通过搜索文件找到保留关键字的定义keyword.control.ruby;相应的正则表达式看起来像

(?&lt;!\.)\b(BEGIN|begin|case|class|...|when|while)\b(?![?!])

最后的负前瞻(?![?!])阻止它匹配方法名称class?class!因此在列表中添加冒号(?![?!:])也将阻止它匹配哈希键,如class:.

于 2012-08-12T19:51:26.683 回答