Как я могу расширить существующий tmLanguage Colorizer/Syntax Highlighter?

Я пытаюсь расширить https://github.com/dzannotti/vscode-babel/blob/master/syntaxes/Babel%20Language.json, но все мои попытки просто приводят к полному переопределению, оставляя текст пустым. Я бы предпочел не быть придурком и просто скопировать код в свой маркер.

Я хочу расширить колоризатор и просто добавить поверх него свои узоры.

Вот моя текущая попытка:

   <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
       <key>fileTypes</key>
       <array>
          <string>js</string>
       </array>
       <key>name</key>
       <string>Handlebars (Ember.js)</string>
       <key>patterns</key>
       <array>
          <dict>
             <key>actions</key>
             <string>actions</string>
             <key>match</key>
             <string>actions</string>
             <key>name</key>
             <string>keyword</string>
          </dict>
          <dict>
         <key>include</key>
         <string>text.javascript.basic</string>
      </dict>

   </array>
   <key>scopeName</key>
   <string>source.js.jsx</string>

Я пытался сделать то, что описано в этой ветке но это не работает


person Hillboy    schedule 15.04.2016    source источник


Ответы (1)


Вам, вероятно, следует хотя бы взглянуть на определение синтаксиса JavaScript Babel, чтобы увидеть, какова его базовая область видимости. В данном случае это source.js.jsx, а не text.javascript.basic. В языках программирования обычно используется область видимости source, а в текстовых языках и языках разметки (Markdown, HTML, XML и т. д.) — text. Если вы собираетесь разрабатывать определения синтаксиса, я настоятельно рекомендую использовать ScopeAlways и/или ScopeHunter плагины для определения областей, активных в текущем местоположении курсора .

person MattDMo    schedule 15.04.2016