2012-07-13 23 views
3

我正在使用Rails並在SublimeText中使用Ruby 1.9,但它使用Ruby 1.9的新哈希語法做了一些奇特的突出顯示。Bundle for Ruby 1.9哈希語法,還是修改現有匹配的方法?

例如,下面的哈希,這是軌道很常見:

<%= link_to some_page_here_path, class: "btn btn-primary" %>

class關鍵字高亮顯示,當它實際上不是一個真正的關鍵字,但實際上只是一個簡單的哈希鍵。我更喜歡它是作爲一個符號(它在Ruby 1.9中)而不是一個保留字的樣式。這適用於其他保留字以及'for','while','do'等。

有沒有辦法在現有的Ruby.tmLanguage或tmLanguage文件中進行這項工作它?感謝任何幫助。謝謝!

回答

6

我有同樣的問題,所以我繼續編輯Ruby.tmLanguage文件來修復它。

通過搜索文件keyword.control.ruby可以找到保留關鍵字的定義;對應的正則表達式看起來像

(?&lt;!\.)\b(BEGIN|begin|case|class|...|when|while)\b(?![?!]) 

負先行在端(?![?!])防止它匹配方法的名稱,如class?class!所以加入冒號到列表(?![?!:])也將阻止它匹配散列鍵等class:

+2

這完美的作品!我不認爲我會在一百萬年後發現這一點。非常感謝您回覆並留下答案,非常感謝。 – trisweb 2012-08-24 20:48:13

+0

這只是我的整個一週。謝謝安迪!順便說一下,該文件中還有一些其他正則表達式需要相同的處理。我在整個文件中搜索了負向視圖,並在有意義的地方添加了冒號。 – Jazz 2013-01-30 15:41:09

+0

非常感謝你,這件事困擾了我很長一段時間.. – kinopyo 2013-07-12 12:54:38