J'ai récemment mis à niveau vers la nouvelle version de texte sublime (version 3.1.1 Build 3176) et j'ai perdu la coloration syntaxique pour le html contenu dans les balises.

Pour le contexte, j'utilise des scripts de type x-template pour créer des composants Vue.js dans un fichier enregistré avec une extension .html.

Mon fichier ressemble à ceci:

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

    </div>
</script>

Les versions précédentes de Sublime Text mettaient en évidence le HTML dans ces balises de script par défaut, mais maintenant il ne semble plus fonctionner. Quelle est la meilleure façon d'obtenir sublime pour reconnaître à nouveau le HTML dans les balises de script x-template?

5
elti 22 mai 2018 à 23:52

3 réponses

Meilleure réponse

Voici la bonne façon de procéder:

  1. Téléchargez la syntaxe HTML.sublime du référentiel Sublime Github: https: //github.com/sublimehq/Packages/blob/master/HTML/HTML.sublime-syntax
  2. Modifiez la ligne 3 de {{X0} } à name: HTML-Vue
  3. Modifiez la ligne 114 à partir de: {{X0 }} à - match: '(<)((?i:script))\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript).*)))'
  4. Renommez le fichier en HTML-Vue.sublime-syntax
  5. Enregistrez le fichier dans les paramètres locaux de l'utilisateur (pour Windows, c'est %AppData%\Sublime Text 3\Packages\User\HTML-Vue.sublime-syntax)
  6. Redémarrez SublimeText et sélectionnez View > Syntax > User > HTML-Vue
6
AymKdn 18 sept. 2018 à 15:10

Voici une approche qui ne nécessite pas de nouveau mode de syntaxe et qui est une modification plus simple:

  1. Copiez le fichier HTML.sublime-package hors du répertoire Packages fourni avec Sublime Text 3.

  2. Il s'agit en fait d'un fichier zip, alors décompressez le contenu dans la zone des packages utilisateur sous la forme ..../User/Packages/HTML.

  3. Modifiez le fichier HTML.sublime-syntax dans le répertoire HTML et dans le bloc 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")

(Ou remplacez le type de modèle que vous utilisez.)

Redémarrez ensuite Sublime Text.

Notez qu'un inconvénient de cette approche est que le package HTML ne sera plus le dernier lors de la mise à jour de Sublime Text. Par conséquent, vous souhaiterez peut-être répéter ces étapes périodiquement.

0
David K. Hess 15 août 2019 à 22:10

J'ai le même problème que vous. Comme solution de contournement temporaire pour activer la coloration syntaxique pour <script type="text/x-template">...</script>:

  1. Installez une version plus ancienne, par exemple la version 3143 (Windows: https: //download.sublimetext.com/Sublime Text Build 3143 x64 Setup.exe)
  2. Sauvegarde C:\Program Files\Sublime Text 3\Packages\HTML.sublime-package
  3. Mise à jour vers la dernière version
  4. Restaurer la sauvegarde

Pour info j'ai signalé votre problème dans Sublime Forum.

2
Viliam Pucik 30 mai 2018 à 14:19