Синтаксис Vim скрыт в контексте.

Я хочу скрыть переменные с именами, основанными на греческих символах, и преобразовать их в их эквивалентный символ Unicode, подобно тому, как vim -cute -python работает. Так, например, я определил это

syntax match scalaNiceKeyword "alpha" conceal cchar=α

в файле для сокрытия в файлах Scala, который отлично работает, но он слишком агрессивен. Если я напишу alphabet, оно затем скроется, чтобы стать αbet, что заметно неправильно. Как я могу изменить/расширить этот оператор скрытия, чтобы он скрывал только ключевые слова, которые соответствуют «[ _]alpha[ _]», т.е. мне нужны следующие преобразования

alpha_1 => α_1
alpha => α
alphabet => alphabet

Примечание :Это похоже на этот вопрос , однако кажется, что он немного сложнее, поскольку групповое окружение, которое я хочу сопоставить, - это пробелы и символы подчеркивания. Наивное определение области синтаксиса, подобное следующему, делает все неправильно:

syn region scalaGreekGroup start="[ _]" end="[ _]"

Заранее спасибо!

6
задан Community 23 May 2017 в 12:06
поделиться