Пользовательская подсветка синтаксиса для определенных полей YAML с VSCode - PullRequest
0 голосов
/ 14 мая 2018

Наша инфраструктура использует файлы YML для настройки различных процессов.Например, (очень упрощенный) блок конфигурации может выглядеть следующим образом:

process:
   my-process:
      requires: "@other-process::parameter"
      dockerfile: |
         FROM alpine
         RUN apk add git
      script: |
        #!/bin/bash
        if [ ! -f $file ]; then echo header > $file; fi

Мы используем код Visual Studio для создания / редактирования этого файла и действительно хотим иметь подсветку пользовательского синтаксиса , чтобы помочь прочитать их.Например, в приведенном выше примере было бы здорово, если бы VSCode автоматически:

  • выделил строку "@other-process" в поле requires
  • apply bash-scriptподсветка синтаксиса в поле script
  • применить подсветку Dockerfile к полю dockerfile

Я знаю, что VSCode использует определения грамматики TextMate для подсветки синтаксиса, но писать самому хорошовне моего уровня знаний.Есть ли более простой способ добавить пользовательскую подсветку синтаксиса для определенных полей?

Хотя VSCode является нашим редактором по умолчанию, было бы неплохо использовать другой текстовый редактор.

1 Ответ

0 голосов
/ 15 мая 2018

Два подхода:

  • Используйте декораторы. Это позволяет динамически изменять цвет и стиль определенных диапазонов в документе. Вот пример расширения декоратора

  • Напишите грамматику впрыска textmate. (см. этот комментарий ). Это более продвинутый, так как он требует много знаний грамматики textmate. Он также менее гибкий, но будет гораздо более производительным.

...