Из Sublime Text Документы :
Файлы Sublime Syntax поддерживают понятие одного определения синтаксиса, встраивающего другое.Например, HTML может содержать встроенный JavaScript.Вот пример определения базового синтаксиса для HTML:
scope: text.html
contexts:
main:
- match: <script>
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: (?=</script>)
pop: true
- match: "<"
scope: punctuation.definition.tag.begin
- match: ">"
scope: punctuation.definition.tag.end
Обратите внимание на первое правило, приведенное выше.Это указывает на то, что когда мы сталкиваемся с тегом, основной контекст в JavaScript.sublime-синтаксисе должен быть помещен в стек контекста.Он также определяет другой ключ, with_prototype.Он содержит список шаблонов, которые будут вставлены в каждый контекст, определенный в JavaScript.sublime-syntax.
Я хочу включить внешний файл, как указано выше, но я не хочу, чтобы он былвставляется в каждый контекст.Я только хочу, чтобы он был вставлен в определенный контекст.
Вариант использования для этого может быть для выделения документации.Чтобы выделить @test
в
/*
@test
Prints "Hello, World"
*/
function print() {console.log("Hello, World")}
, мне нужно было бы специально добавить условие соответствия в контекст комментария (верно?), Чтобы убедиться, что никакие другие @test
s не совпадают вне комментария