我正在使用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文件中使这个工作?感谢任何帮助。谢谢!
答案 0 :(得分:6)
我遇到了同样的问题,所以我继续编辑了Ruby.tmLanguage文件来修复它。
您可以通过搜索keyword.control.ruby
的文件找到保留关键字的定义;相应的正则表达式看起来像
(?<!\.)\b(BEGIN|begin|case|class|...|when|while)\b(?![?!])
结尾处的否定前瞻(?![?!])
阻止它匹配class?
和class!
等方法名称,因此在列表(?![?!:])
中添加冒号也会阻止它匹配哈希密钥如class:
。