Параметр области Sublime Text/TextMate

Язык Sublime Text (и TextMate) и файлы цветовой темы взаимодействуют через параметр scope. Это имя с точками, которое может быть полезно при стилизации (и в других случаях).

Например (в языковом файле XML): <string>support.constant.js</string>

Как его можно стилизовать (помимо строгого равенства)? Можно ли стилизовать этот определенный элемент с помощью support.constant, constant.js или js? Поддерживает ли этот параметр иерархию, и если да, то каким образом (слева направо или наоборот)? Каскад стилей, как в CSS?

Я глубоко заинтересован в создании гибкой цветовой темы, которая будет поддерживать не только определенные языки, но и все, изящно деградировать в случае отсутствия специальной поддержки. Для этого мне нужно знать, как работают прицелы. Это позволит стилизовать общие (для многих языков) структуры, такие как function, constant, variable, keyword и т. д.


person Strider    schedule 27.02.2014    source источник


Ответы (2)


У меня есть довольно сложная цветовая схема на Github, которую вы можете попробовать поищите идеи. По сути, области работают слева направо — чтобы выделить support.constant.js, вы можете использовать support, support.constant или support.constant.js, но не constant, constant.js или js. В файле JavaScript все имеет область действия source.js, поэтому, если вы просто хотите выделить все области support в файле .js, вы должны использовать source.js support.

Для создания тем я считаю очень полезным плагин ScopeAlways, так как он показывает всю область действия в строке состояния. во все времена. Еще один отличный ресурс — ColorSchemeEditor, графический интерфейс для редактирования цветовых схем.

person MattDMo    schedule 27.02.2014

Вы также можете ознакомиться с Областями, которые включают различные области до 160 языков. Вам пригодится

person tushortz    schedule 17.08.2015
comment
Спасибо, буду заглядывать туда время от времени. Похоже, это твоя посылка. Вы собирали все эти прицелы программно? - person Strider; 18.08.2015
comment
@StreetStrider Да, я написал это на питоне, поняв, что ручной труд ни к чему. - person tushortz; 19.08.2015