Aller au contenu

Coloration syntaxique

L'éditeur colore le code source selon son langage, ce qui rend la structure facile à lire d'un coup d'œil. La coloration est assurée par Lexilla, donc un large éventail de langages est pris en charge d'emblée.

Fonctionnement

Un colorizer identifie le langage et étiquette chaque jeton (mot-clé, chaîne, commentaire, nombre, type, …) ; un thème associe une couleur à chaque catégorie de jetons. Comme tous les langages parlent le même ensemble de catégories, changer de thème recolore tous les langages à la fois.

Choix du langage

Le langage est détecté automatiquement à l'ouverture d'un fichier, dans cet ordre :

  1. Une substitution d'extension définie dans Préférences ▸ Coloration syntaxique.
  2. Une correspondance exacte du nom de fichier (p. ex. Makefile, .gitignore).
  3. L'extension du fichier.
  4. Un marqueur en première ligne (p. ex. un shebang #! ou <?xml).

Utilisez le menu Langue pour remplacer le langage détecté pour le document courant lorsque le choix automatique ne vous convient pas.

Paramètres

Préférences ▸ Coloration syntaxique vous permet de :

  • Choisir le thème actif (et, avec l'Éditeur de thèmes, créer ou modifier des thèmes).
  • Activer ou désactiver des catégories entières de jetons (p. ex. désactiver la coloration des commentaires) pour qu'elles retombent sur la couleur de texte par défaut.
  • Définir des substitutions d'extensions pour forcer un type de fichier vers un langage précis.
  • Définir la taille de fichier maximale à colorer, en Ko. Par défaut 16384 (16 Mo) : au-delà, un fichier s'ouvre en texte brut, et le pliage de code disparaît avec la coloration — ses niveaux viennent de la même passe. La coloration est calculée d'abord pour la page visible et en arrière-plan pour le reste du fichier, si bien qu'un fichier de plusieurs mégaoctets s'ouvre sans à-coup ; y taper ne coûte rien non plus, car l'éditeur ne recolore qu'autour de la modification. La valeur 0 supprime la limite. Cette limite est une protection mémoire : le lexeur conserve les données de style et de pliage pour chaque octet coloré, donc sur de très gros fichiers c'est la mémoire — pas la vitesse — que ce plafond borne.

Coloration et intelligence de code sont indépendantes

Dépasser la limite de taille — ou désactiver complètement la coloration — ne désactive plus le serveur de langage pour ce fichier. Diagnostics, navigation et complétion restent disponibles ; le fichier n'est simplement pas peint.

Ajoutez vos propres langages et thèmes

Les colorizers et les thèmes sont de simples fichiers JSON que vous pouvez modifier ou ajouter sans recompilation — déposez-les dans votre répertoire de configuration utilisateur et ils remplacent ou étendent le jeu livré. Le fichier colorizer définit aussi les extensions, mots-clés et correspondances jeton-style de chaque langage. Un fichier de thème peut contenir un bloc attribution facultatif (auteurs, copyright, licence, mention) ; l'éditeur l'ignore pour le rendu et le conserve tel quel lorsqu'il enregistre le thème.