Outils pour utilisateurs

Outils du site


prog:vsc:module_highlight

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:vsc:module_highlight [2021/02/07 10:43] – [pattern] : "Positive and Negative Lookahead" ne permet plus le pattern de récursion rootprog:vsc:module_highlight [2021/02/26 13:22] (Version actuelle) – Ajout de "Utilisation d'un langage existant" root
Ligne 233: Ligne 233:
 "identifiant": { "identifiant": {
     "begin": "(?=^\\s*(if)\\s)",     "begin": "(?=^\\s*(if)\\s)",
-    "beginCaptures": { 
-        "0":{"name":"aaaaa"} 
-    }, 
     "end": "(?<=^\\s*end_if\\s*$)",     "end": "(?<=^\\s*end_if\\s*$)",
     "name": "meta.if.definition.cellman.TRAN",     "name": "meta.if.definition.cellman.TRAN",
Ligne 538: Ligne 535:
 156 156
 </file>|Version colorée : \\ \\ {{:prog:vsc:module_highlight:hl_example_1.png?200|}}| </file>|Version colorée : \\ \\ {{:prog:vsc:module_highlight:hl_example_1.png?200|}}|
 +
 +====Utilisation d'un langage existant====
 +Une partie du code peut intégrer un langage existant.
 +
 +Il faut définir qu'on va s'injecter dans le ''scopeName'' dans ''package.json''.
 +
 +<code javascript>
 +{
 +  "language": "cellman_stave",
 +  "scopeName": "source.cellman.stave",
 +  "path": "./syntaxes/cellman.tmLanguage.stave.json"
 +},
 +{
 +  "scopeName": "shell.injection",
 +  "path": "./syntaxes/shellscriptInjection.tmGrammar.json",
 +  "injectTo": [
 +    "source.cellman.stave"
 +  ],
 +  "embeddedLanguages": {
 +    "meta.embedded.shellscript": "shellscript"
 +  }
 +}
 +</code>
 +
 +<file javascript shellscriptInjection.tmGrammar.json>
 +{
 +  "scopeName": "shell.injection",
 +  "injectionSelector": "R:meta.embedded.shellscript",
 +  "patterns": [
 +    {
 +      "include": "source.shell"
 +    }
 +  ]
 +}
 +</file>
 +
 +Utilisation du langage importé. Il faut impérativement utiliser ''begin'', ''end'' et ''contentName'' qui sont multiligne.
 +
 +Pour être utiliser en single line, on peut tricher...
 +
 +<code javascript>
 +{
 +  "begin": ".",
 +  "end": "$",
 +  "contentName": "meta.embedded.shellscript"
 +}
 +</code>
  
 ====Coloration personnalisée==== ====Coloration personnalisée====
Ligne 564: Ligne 608:
     }     }
 </code> </code>
 +
 +====Générer le module====
 +
 +===En local===
 +
 +Il faut ajouter le champ ''publisher'' dans ''package.json'' et lancer la commande :
 +
 +<code bash>
 +vsce package
 +</code>
 +
 +Et pour installer le module dans Visual Studio Code :
 +
 +<code bash>
 +code --install-extension myextension.vsix
 +</code>
 +
prog/vsc/module_highlight.1612691030.txt.gz · Dernière modification : 2021/02/07 10:43 de root