如何在Sublime/Textmate 2中更正用于设置Rails链接或表单字段"class"的语法高亮显示

neo*_*eon 16 ruby textmate ruby-on-rails sublimetext sublimetext2

背景:在Sublime Text和Textmate中,在Rails link_to或表单字段中使用新的ruby散列格式时,"class"一词被错误地突出显示:

在此输入图像描述

目标:有没有办法正确突出显示"class"关键字,因为它使用旧格式时:

在此输入图像描述

Sha*_*ell 11

我认为这与语法突出显示方面的优先级有关.因为ruby的关键字与"class"匹配,所以它试图突出显示它,就好像你有class MyClass.旧的哈希格式具有前面的内容,:以阻止它被选为关键字.

免责声明:我不是这方面的专家只是修修补补,以下内容对我有用.

如果编辑Ruby.tmLanguage文件(在Packages/Ruby中),可以在定义新ruby 1.9哈希语法的部分下面移动定义关键字的部分.这样它应该优先考虑新的哈希语法.

查找<dict>包含以下内容的条目:

<dict>
  ....
  <key>name</key>
  <string>keyword.control.ruby</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

并把它放在条目下面,如:

<dict>
  ....
  <key>name</key>
  <string>constant.other.symbol.ruby.19syntax</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,对于Mac OS X,Sublime Text 3(测试版)的情况有点棘手.您必须在Sublime Text 3应用程序中复制Ruby语言定义文件:"/ Applications/Sublime Text 3.app/Contents/MacOS /Packages/Ruby.sublime-package"..sublime-package扩展名实际上是一个zip文件,你需要提取,然后打开文件夹,如上所述更改Ruby.tmLanguage文件,然后重新压缩文件,然后将其添加到"〜/库/应用程序支持/ Sublime Text 3/Installed Packages"文件夹. (4认同)