2015-04-01 60 views
2

Sublime Text 2爲Ruby「變量」與「關鍵字」顯示不同的顏色嗎?下面的圖片是默認Monokai配色方案的Ruby代碼示例。我希望可以讓變量(列表,x)與關鍵字(每個,打印)具有不同的顏色。Ruby變量的崇高顏色語法與關鍵字

目前,它們都與<key>foreground</key>有關。我曾嘗試更改variable顏色,但僅對|x|進行了更改。

Example of Ruby color syntax

回答

3

沒有,沒有辦法用默認的Ruby語法附帶崇高做到這一點。 list,each,printx的範圍均爲source.ruby,這意味着它們不具有可由顏色方案作爲目標的特定範圍。在另一方面,end的作用域keyword.control.ruby,並dokeyword.control.start-block.ruby(除基礎source.ruby範圍適用於所有元素),所以如果你有在你的配色方案爲keywordkeyword.control規則,它們可以被不同顏色。 |x|punctuation.separator.variable.ruby管道|variable.other.block.rubyx,所以這些可以根據您的偏好進行調整。

從本質上講,只有一個項目具有不同的範圍,並且您的配色方案包含該範圍的規則(或其更爲通用的版本,但不是其更具體的版本)時才能着色。例如,與Python相比,Ruby尤其具有挑戰性,因爲儘管Python方法的末尾總是帶圓括號(例如string_var.replace()),並且可以編寫正則表達式來將點.與parens之間的任何內容作爲函數調用突出顯示,但Ruby不遵循此範例,因此語法高亮定義(可在各種.tmLanguage文件中找到)無法區分方法調用和簡單屬性,因此無法區別突出顯示它們。這就是爲什麼您的程序中的list.each只有source.ruby,並且each未作爲函數突出顯示。

+0

非常感謝您的澄清。我遇到過同樣的問題。希望這可以在一天內得到解決。 – Maxence 2017-08-04 10:10:47