Sublime Text tmLanguage Подсветка синтаксиса в захвате
Я создаю пользовательский файл.tmLanguage для Sublime Text, и мне нужно иметь возможность выделить "/" внутри захвата вот код:
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>constant.numeric</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>constant.numeric</string>
</dict>
</dict>
<key>name</key>
<string>storage.type</string>
</dict>
Кажется, я не могу понять, как выделить этот "/" другим цветом (в частности, цветом "invalid.deprecated"), который показан на картинке выше. Я пробовал много разных вариаций кода, ни один из которых не выделит этот черт "/"!!!
1 ответ
Вы хотите добавить какие-то "встроенные шаблоны", которые могут соответствовать вещам внутри вашего начала и конца, а затем назначить этому недействительную область. Это сопоставимо с тем, как большинство определений синтаксиса обрабатывают escape-последовательности в строках.
Вот версия моего пакета в YAML (а не plist xml фигня):
name: string.quoted.double.css
begin: '"'
beginCaptures:
'0': {name: punctuation.definition.string.begin.csscheme}
end: '"'
endCaptures:
'0': {name: punctuation.definition.string.end.csscheme}
patterns:
- name: constant.character.escape.css
match: \\.