3

私はRailsを使用していて、SublimeTextでRuby 1.9を使用していますが、Ruby1.9の新しいハッシュ構文で奇妙な強調表示を行っています。

たとえば、次のハッシュを使用します。これは、レールではかなり一般的です。

<%= 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 に答える