我正在嘗試爲Python設置某種類型的語法突出顯示。如何在Python中突出顯示成員變量?
我想要self
和cls
突出顯示評論。 我希望成員變量像功能一樣突出顯示。
例如,如果normal text
是(白色),comments
是(灰色),和functions
是(紅色):
self._member
應self
(灰色).
(白色)_member
(紅色)
self._member.other.method()
應self
(灰色).
(白色)_member
(紅色).other.method()
(白色)
self._method()
應該是self
(灰色)._method()
(白色)
我試圖複製和修改爲裝飾的語法,因爲他們似乎相似,但沒有運氣。我也採取了look at the docs,但他們非常激烈。任何想法如何我可以做到這一點?
編輯:
我幾乎得到它:
syn keyword pythonThis cls self
syn match pythonMember "\(cls\.\|self\.\)\@<=[A-Za-z_]\+\(\.\| \)"
hi link pythonThis Comment
hi link pythonMember Function
與此唯一的問題是,下面的成員變量的點爲紅色,而不是白色(self._member.other.method()
是不突出準確如上所述的)。不是什麼大不了的事情,但是知道如何忽略單個匹配中的多個組會很高興(似乎您可以多次使用\@<=
)。
你嘗試了什麼?你試過的每一行的預期結果是什麼?什麼失敗了?什麼沒有?怎麼樣? – romainl