Ответ 1
Я думаю, что это связано с приоритетом в плане подсветки синтаксиса. Поскольку ключевые слова для ruby соответствуют "классу", он пытается выделить его, как будто у вас есть class MyClass
. В то время как старый формат хэшей имел предыдущий :
, чтобы остановить его от того, что его выбрали в качестве ключевого слова.
Отказ от ответственности. Я не эксперт в этом деле, просто возился, и следующее работало для меня.
Если вы отредактируете свой файл Ruby.tmLanguage(в пакетах /Ruby ), вы можете переместить раздел, определяющий ключевые слова ниже раздела, определяющего новый синтаксис хеша ruby 1.9. Таким образом, он должен определить приоритет нового синтаксиса хэша.
Найдите запись <dict>
, содержащую:
<dict>
....
<key>name</key>
<string>keyword.control.ruby</string>
</dict>
и поставьте его ниже, например:
<dict>
....
<key>name</key>
<string>constant.other.symbol.ruby.19syntax</string>
</dict>