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 :
- Une substitution d'extension définie dans Préférences ▸ Coloration syntaxique.
- Une correspondance exacte du nom de fichier (p. ex.
Makefile,.gitignore). - L'extension du fichier.
- 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
0supprime 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.