Coloration syntaxique statique


La coloration syntaxique statique est la coloration du code que l'utilisateur ne peut pas modifier. Cela inclut les extraits de code, les itérations, et bien d'autres choses.

Note

L'éditeur en ligne n'utilise pas la coloration syntaxique statique, car l'utilisateur peut modifier le code à la volée. Si tu veux en savoir plus sur la façon dont on gère la coloration syntaxique dans l'éditeur en ligne, consulte la documentation sur la coloration syntaxique dynamique.

Mise en œuvre

La coloration syntaxique statique est réalisée à l'aide de la bibliothèque highlightjs.

Lorsque tu ajoutes la prise en charge de ton langage, trois options s'offrent à toi :

  1. Le langage est pris en charge out of the box par highlightjs (c'est-à-dire qu'il figure parmi les langages pris en charge). Si c'est le cas, passe à la section Configure le parcours.
  2. Le langage est pris en charge via un plugin highlightjs existant. Si c'est le cas, passe à la section Utilise un plugin existant.
  3. Le langage n'est pas pris en charge. Là encore, trois options :
    1. Écrire un plugin highlightjs de zéro, comme décrit dans la section Crée un nouveau plugin.
    2. La syntaxe de ton langage ressemble (de près) à celle d'un autre langage (par exemple, la syntaxe d'Unison ressemble à celle de Haskell) ; dans ce cas, tu peux envisager d'utiliser la coloration syntaxique de ce langage pour le tien. Consulte la section Configure le parcours pour plus d'informations.
    3. Ne pas avoir de coloration syntaxique statique.

Configure le parcours

Pour activer la prise en charge de highlightjs pour le langage de ton parcours, tu dois modifier le fichier config.json du parcours. Dans le fichier config.json, ajoute ou définis la clé online_editor.highlightjs_language avec l'identifiant de langage highlightjs approprié (que tu trouveras dans la documentation).

Exemple

{
  "online_editor": {
    "highlightjs_language": "csharp"
  }
}

Utilise un plugin existant

Pour utiliser un plugin existant, il faut qu'il soit publié sur NPM. Si le plugin n'est pas publié sur NPM, tu peux, au choix :

  1. Demander à l'auteur du plugin s'il souhaite le publier sur NPM.
  2. Créer un fork du dépôt et le publier toi-même.
  3. Nous demander (à Exercism) de créer un fork du dépôt et de le publier. Pour cela, ouvre un sujet sur le forum pour en faire la demande.

L'étape suivante consiste à activer le plugin.

Active le plugin

Pour activer un plugin (qui doit être publié sur NPM), ouvre un sujet sur le forum pour nous demander d'ajouter la prise en charge de ce plugin au site. Nous (Exercism) créerons alors une Pull Request qui ajoute le plugin au site. Une fois la PR fusionnée, tu peux activer la prise en charge de highlightjs en suivant les instructions de la section Configure le parcours.

Crée un nouveau plugin

Si tu veux créer un plugin, tu as deux options d'hébergement :

  1. Créer un dépôt sur ton compte personnel et le publier toi-même.
  2. Nous demander (à Exercism) de créer un dépôt et de le publier. Pour cela, ouvre un sujet sur le forum pour en faire la demande.

Une fois que tu as un dépôt, suis les instructions de contribution pour un langage pour implémenter le plugin.

Tu devras ensuite publier le plugin sur NPM. L'étape suivante consiste à activer le plugin.

Utilise un autre langage

La syntaxe de ton langage ressemble (de près) à celle d'un autre langage ; dans ce cas, tu peux envisager d'utiliser la coloration syntaxique de cet autre langage pour le tien. Pour cela, configure le parcours afin qu'il utilise l'identifiant de langage highlightjs de cet autre langage. Consulte la section Configure le parcours pour plus d'informations.