Подсветка синтаксиса для HTML внутри тегов скрипта x-template в Sublime Text 3 - PullRequest
0 голосов
/ 22 мая 2018

Я недавно обновился до новейшей сборки возвышенного текста (Версия 3.1.1 Build 3176) и потерял подсветку синтаксиса для html, содержащегося внутри тегов.

Для контекста я использую сценарии типа x-template для создания компонентов Vue.js внутри файла, сохраненного с расширением .html.

Мой файл выглядит примерно так:

<!-- comp.html -->
<script type="text/x-template" id="comp-template">
    <div id="comp-template>
        <h2> {{ componentTitle }} </h2>

    </div>
</script>

Предыдущие версии Sublime Text по умолчанию выделяли html в этих тегах сценария, но теперь он больше не работает.Каков наилучший способ заставить возвышенное снова распознавать HTML в тегах скрипта x-template?

Ответы [ 3 ]

0 голосов
/ 12 июля 2018

Вот правильный способ сделать это:

  1. Загрузить синтаксис HTML.sublime из репозитория Sublime Github: https://github.com/sublimehq/Packages/blob/master/HTML/HTML.sublime-syntax
  2. Изменить строка 3 с name: HTML на name: HTML-Vue
  3. Изменить строка 114 с: - match: '(<)((?i:script))\b' на - match: '(<)((?i:script))\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript).*)))'
  4. Переименовать файл в HTML-Vue.sublime-syntax
  5. Сохраните файл с локальными настройками пользователя (для Windows это %AppData%\Sublime Text 3\Packages\User\HTML-Vue.sublime-syntax)
  6. Перезапустите SublimeText и выберите View > Syntax > User > HTML-Vue
0 голосов
/ 15 августа 2019

Вот подход, который не требует нового синтаксического режима и является более простым редактированием:

  1. Скопируйте файл HTML.sublime-package из каталога Packages, связанного с Sublime Text3.

  2. На самом деле это zip-файл, поэтому разархивируйте содержимое в область пользовательских пакетов как ..../User/Packages/HTML.

  3. Отредактируйте HTML.sublime-синтаксический файл в каталоге HTML и в блоке script-type-decider измените:

    - match: (?i)(?=text/html(?!{{unquoted_attribute_value}})|'text/html'|"text/html")

на

    - match: (?i)(?=text/html(?!{{unquoted_attribute_value}})|'text/html'|"text/html"|"text/x-template")

(или замените любой тип шаблона, который вы используете.)

Затем перезапустите Sublime Text.

Обратите внимание, недостатком этого подхода является то, что пакет HTML больше не будет последним при обновлении Sublime Text.Поэтому вы можете периодически выполнять эти шаги снова.

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

У меня такая же проблема, как и у вас.В качестве временного обходного пути для включения подсветки синтаксиса для <script type="text/x-template">...</script>:

  1. Установите более старую версию, например Build 3143 (Windows: https://download.sublimetext.com/Sublime Text Build 3143 x64 Setup.exe )
  2. Резервное копирование C:\Program Files\Sublime Text 3\Packages\HTML.sublime-package
  3. Обновление до последней версии
  4. Восстановление резервной копии

К вашему сведению Я сообщил о вашей проблеме в Sublime Forum.

...