Bundle for Ruby 1.9哈希语法,还是修改现有匹配的方法?

tri*_*web 3 textmate textmatebundles sublimetext2

我正在使用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文件中使这个工作?感谢任何帮助.谢谢!

And*_*nes 6

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

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

(?&lt;!\.)\b(BEGIN|begin|case|class|...|when|while)\b(?![?!])
Run Code Online (Sandbox Code Playgroud)

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

  • 这很完美!我不认为我会在一百万年后找到它.非常感谢您回来并留下答案,非常感谢. (2认同)