Как включить внешний файл с возвышенным текстом при вставке в один контекст - PullRequest
0 голосов
/ 20 ноября 2018

Из 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 не совпадают вне комментария

...