Как я могу расширить существующий tmLanguage Colorizer/ подсветку синтаксиса?
Я пытаюсь расширить 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>
Я пытался сделать то, что в этой теме, но это не работает
1 ответ
Возможно, вам следует хотя бы взглянуть на определение синтаксиса Babel JavaScript, чтобы увидеть его базовую область действия. В этом случае это source.js.jsx
не text.javascript.basic
, Языки программирования обычно используют source
область действия, в то время как текст и языки разметки (Markdown, HTML, XML и т. д.) используют text
, Если вы собираетесь разрабатывать определения синтаксиса, я настоятельно рекомендую использовать ScopeAlways
и / или ScopeHunter
плагины для определения областей, активных в текущей позиции курсора.