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: \\.
Другие вопросы по тегам