Cookies Ce site ne conserve que ce dont il a besoin pour fonctionner. Il n’y a aujourd’hui ni mesure d’audience ni publicité, et rien ici ne vous suit sur d’autres sites. Lire la politique de confidentialité

Choisir ce que j’autorise
+92 312 8299940Devis gratuit
Outil gratuit, rien à installer

Coloration syntaxique
Colorer un listing, copier le balisage

Cette coloration syntaxique découpe un fichier en chaînes, commentaires, mots-clés et nombres, puis peint chacun. Copiez le résultat en HTML échappé, en bloc de traitement de texte, ou en texte brut débarrassé de la couleur. Rien de ce que vous collez ne quitte le navigateur.

  • GratuitPrix
  • 12Langages
  • 4Sorties
  • AucunEnvois

Coloriseur de syntaxe

Colorisez un listing en douze langages, puis copiez le HTML échappé, un bloc de traitement de texte, du texte brut ou la feuille de style

La sortie

Si vous utilisez un lecteur d’écran, l’onglet texte brut est la copie lisible : les autres portent un span autour de chaque token.

Les six classes, et la couleur que chacune nomme

Prêt. Collez un listing, ou appuyez sur un des boutons d’exemple.

Votre navigateur fait tout le travail ici, dans cet onglet. Nous n’envoyons rien, ne stockons rien et n’enregistrons rien.
La version courte

Ce que fait une coloration syntaxique

Une couleur est une affirmation sur ce qu’est un morceau de texte. Par conséquent un listing coloré se lit plus facilement. Le lecteur saisit la forme d’un fichier avant d’en lire une ligne.

C’est tout le travail de cette coloration syntaxique. Elle découpe le texte en tokens, décide de ce qu’est chacun, et donne une couleur à chaque classe.

Elle connaît douze langages, et elle traite une chaîne, un commentaire, un mot-clé, un nombre et un nom comme des choses distinctes. Parce que la décision vient d’un tokeniseur et non d’une correspondance de motif, un mot-clé dans un commentaire reste un commentaire.

Quatre sorties viennent d’une seule passe. Du HTML échappé à coller dans une page, un bloc de traitement de texte, du texte brut, et une petite feuille de style pour les couleurs seules.

Tout tourne dans cet onglet. Par conséquent un listing inachevé se colore exactement comme un listing publié.

Comment une coloration syntaxique découpe le code en tokens

Le lecteur parcourt le texte une fois, en portant un état et une pile. À chaque caractère il décide s’il se trouve dans une chaîne, un commentaire, un nombre ou du code ordinaire. Il émet un token quand cet état change.

Schéma de quatre lignes de code à gauche et des tokens qu’elles produisent à droite, où la première ligne donne un mot-clé et un nom, la deuxième ouvre une chaîne si bien que le mot à l’intérieur prend la couleur du texte plutôt que celle du mot-clé, la troisième ouvre un commentaire si bien que le mot-clé à l’intérieur prend la couleur du commentaire, et la quatrième ferme les deux, avec une note sous la chaîne et le commentaire disant que l’état a décidé ceci plutôt que l’orthographe
Le même mot sur trois lignes, coloré de trois façons, parce que l’état décide.

Une liste de mots-clés par langage fournit le reste. La liste est courte à dessein, parce que la question utile est de savoir quels mots le langage réserve. Cette liste de mots réservés est ce que publient les documents de référence.

Parce que le lecteur porte cet état, un mot dans un commentaire n’est pas un mot-clé. C’est la différence entre un coloriseur et un chercher-remplacer. C’est aussi la première chose à regarder quand un listing coloré semble faux.

Un langage qui imbrique les commentaires de bloc a besoin d’un compteur de profondeur plutôt que d’un drapeau. Un langage qui autorise un gabarit de chaîne a besoin d’une pile. Les deux sont tenues pour qu’un délimiteur interne ne puisse pas fermer un bloc externe.

Rien ici ne change le texte qu’un lecteur reçoit. Une copie de la sortie brute est octet pour octet ce que vous avez collé, ce qui compte quand le listing vient d’un terminal.

Pourquoi la sortie échappe avant de colorer

Du code coloré est du balisage, et du balisage collé dans une page est du balisage que le navigateur exécute. Donc les chevrons d’un listing doivent devenir des entités avant tout le reste.

Ce n’est pas un détail de mise en forme. Un extrait copié depuis un gestionnaire de tickets peut porter une balise script, et une page qui le colle brut vient d’exécuter le code d’un inconnu.

Ici, chaque sortie échappe d’abord et colore ensuite. Parce que l’échappement a lieu avant que l’outil écrive le moindre span, un listing ne peut pas introduire un élément de son cru.

La même règle couvre un attribut. Un commentaire qui contient un guillemet part dans le texte du span plutôt que dans un attribut. Donc il ne peut rien fermer trop tôt.

C’est pourquoi la sortie HTML vaut la peine d’être copiée d’ici plutôt que d’un éditeur qui colore pour l’affichage seul. Les couleurs paraissent identiques et une seule des deux est sûre à coller.

Les douze langages, et ce qu’il faut à chacun

Quatre d’entre eux partagent une grammaire avec un voisin. JavaScript, TypeScript et JSON sont assez proches pour qu’un seul lecteur couvre les trois. CSS et SCSS partagent un lecteur de la même façon.

Capture du sélecteur de langage ouvert sur le coloriseur avec douze entrées listées, dont quatre marquées comme partageant un lecteur avec un langage voisin, l’entrée C notant qu’elle gère une ligne de préprocesseur, les entrées Python et Ruby notant qu’elles gardent une chaîne multiligne ouverte, et l’entrée PHP notant qu’elle bascule entre deux grammaires à la balise ouvrante
Douze langages, et quatre d’entre eux empruntent un lecteur plutôt que d’en avoir un à eux.

La famille C ajoute une ligne de préprocesseur. Le lecteur traite une ligne à dièse à part avant de tokeniser le reste de cette ligne. C’est pourquoi include et define ressortent d’une couleur différente du code autour.

Python et Ruby ont tous deux besoin de tenir compte de l’indentation. Une chaîne à triples guillemets et un heredoc ne finissent pas à un saut de ligne. Donc le lecteur doit garder la chaîne ouverte sur plusieurs lignes.

PHP et HTML s’entrelacent, donc le lecteur change de mode à la balise ouvrante. Parce que les deux grammaires sont différentes, une passe unique qui ignorerait le changement colorerait le HTML comme s’il était du PHP.

SQL et Bash sont les deux derniers, et tous deux sont orientés ligne. Un marqueur de commentaire diffère entre eux, ce qui est le genre de détail qui décide si un listing se lit correctement.

Les quatre sorties, et quand se servir de chacune

Le HTML échappé est la première, et c’est celle d’une page. Chaque token devient un span avec une classe. L’outil échappe le texte à l’intérieur en entités, donc le bloc tombe dans un article sans autre travail.

Capture des quatre onglets de sortie sous le listing coloré, l’onglet HTML montrant du balisage échappé avec des noms de classe de span, l’onglet traitement de texte montrant des attributs de style en ligne à la place, l’onglet texte brut montrant les mêmes lignes sans aucun balisage, et l’onglet feuille de style montrant douze règles de couleur seules, au-dessus d’un nombre de lignes et d’un nombre d’octets pour chacun
Un listing, quatre formes, et un nombre d’octets pour chacune afin que le choix ne soit pas une devinette.

Le bloc de traitement de texte est la deuxième. Comme un traitement de texte ignore votre feuille de style, les couleurs arrivent en styles en ligne sur chaque span, ce qui survit à un collage dans un document.

Le texte brut est la troisième, et il garde l’indentation et le nombre de lignes sans une seule couleur. Servez-vous-en quand le listing va dans un terminal ou un message de commit, là où le balisage serait du bruit.

La feuille de style est la quatrième. Elle porte les douze règles de couleur sans balisage attaché. Donc un site qui enveloppe déjà ses propres spans peut adopter la palette sans adopter la sortie.

Pas à pas

Comment utiliser la coloration syntaxique

Quatre étapes, et aucune n’a besoin d’un compte.

  • 1

    Choisir le langage

    Donc choisissez parmi les douze. La liste de mots-clés et les marqueurs de commentaire viennent tous deux de ce réglage. Par conséquent un mauvais choix est la raison habituelle d’un listing à moitié coloré.

  • 2

    Coller le listing

    Puis collez le code. L’indentation est gardée telle que collée, donc un fichier déjà mis en page se lit comme dans un éditeur.

  • 3

    Régler la gouttière et le thème

    Ensuite, décidez si les numéros de ligne appartiennent à la sortie et prenez une palette claire ou sombre. Comme les deux choix entrent dans le balisage, réglez-les avant de copier.

  • 4

    Copier la forme qu’il vous faut

    Enfin, prenez le HTML, le bloc de traitement de texte, le texte brut ou la feuille de style. Après cela, collez-le là où le listing a sa place.

Pourquoi cette page

Pourquoi utiliser cette coloration syntaxique

Cinq raisons, et la deuxième est celle qui compte le plus.

  • Elle échappe avant de colorer

    Parce que le texte est échappé en entités d’abord, un listing collé ne peut pas introduire un élément ni un attribut de son cru. Donc la sortie est sûre à poser sur une page.

  • Elle porte un état, pas des motifs

    Un mot-clé dans un commentaire reste un commentaire, et une accolade dans une chaîne reste du texte. Par conséquent les couleurs correspondent à ce que le langage veut vraiment dire.

  • Quatre sorties d’une seule passe

    Une page, un traitement de texte, un terminal et une feuille de style veulent chacun une forme différente. Donc un seul collage couvre celui qu’il vous faut ensuite.

  • Rien n’est envoyé

    La tokenisation et la coloration ont toutes deux lieu dans cet onglet seul. Donc une feuille de style non publiée reçoit un traitement identique.

  • Les règles de couleur sont à vous

    La sortie feuille de style porte la palette sans balisage attaché. Donc un site qui enveloppe déjà ses propres spans peut adopter les couleurs et rien d’autre.

Règles de base

Des habitudes qui gardent un listing lisible

Six habitudes qui décident si du code coloré aide vraiment.

  • Montrer l’extrait le plus court qui prouve le point Un listing de trente lignes est survolé et un de six lignes est lu. Comme un lecteur cherche la forme plutôt que tout le fichier, coupez avant de colorer.
  • Garder l’indentation telle que l’auteur l’a écrite Réindenter un extrait change son apparence dans le fichier d’origine. Donc laissez la profondeur tranquille et laissez le lecteur la comparer à la source.
  • Recourir à la gouttière seulement au-delà de dix lignes Les numéros de ligne aident quand un lecteur doit citer une ligne. Sous dix lignes ils sont du bruit à côté d’un code qu’un lecteur peut compter.
  • Accorder la palette à la page Un bloc sombre dans un article clair détourne l’œil de l’argument. Comme les deux palettes sont offertes, prenez celle qui s’accorde avec la page autour.
  • Copier le HTML plutôt que le bloc rendu Glisser un bloc coloré hors d’un navigateur perd les classes et garde un fouillis de styles en ligne. Par conséquent servez-vous du bouton copier, qui écrit le balisage que vous pouvez lire.
  • Garder une copie texte brut pour le terminal Du balisage dans un message de commit ou une session shell devient des caractères plutôt que de la couleur. Donc gardez la sortie brute à côté de la colorée.
Attention ici

Six façons dont un listing coloré tourne mal

Chacune a l’air correcte dans l’aperçu et échoue là où elle arrive.

  • Coller du balisage brut dans une page

    Attention ici. Un listing collé sans échappement est du balisage que le navigateur exécute, et une seule balise script dans un commentaire suffit. Donc utilisez la sortie HTML plutôt qu’une copie d’un autre éditeur.

  • Choisir le mauvais langage

    Une liste de mots-clés d’un langage laisse les mots d’un autre non colorés. Comme le résultat a encore l’air voulu, il est facile à livrer par accident.

  • S’attendre à ce qu’un gabarit de chaîne finisse au saut de ligne

    Un accent grave garde une chaîne ouverte sur plusieurs lignes. Donc un gabarit non fermé en haut colore le reste du fichier comme une seule chaîne, ce qui se lit comme un bug de l’outil.

  • Colorer un diff comme du source

    Un plus ou un moins en début de ligne ne fait pas partie du langage. Donc collez les deux côtés séparément, sinon le premier caractère de chaque ligne est déjà faux.

  • Activer la gouttière pour un extrait copié

    Un lecteur qui copie un listing numéroté reçoit les numéros avec le code. Comme le collage refuse alors de s’exécuter, gardez la gouttière pour une page qu’un lecteur ne fait que lire.

  • Croire que les couleurs portent un sens

    Une couleur seule est un signal faible pour un lecteur qui ne la voit pas. Par conséquent les mots comptent plus que la palette, et un listing doit rester sensé sans couleur.

Questions

Questions sur la coloration syntaxique

Cette coloration syntaxique est-elle gratuite ?

Oui. Il n’y a ni compte, ni limite, ni offre payante. Donc vous colorez autant de listings que vous voulez.

Quels langages sont pris en charge ?

Douze : JavaScript, TypeScript, JSON, HTML, CSS, SCSS, PHP, Python, Ruby, Java, SQL et Bash. Quatre d’entre eux partagent un lecteur avec un voisin.

La sortie est-elle sûre à coller dans une page ?

La sortie HTML l’est, car l’outil échappe le texte en entités avant même d’écrire le premier span. Ainsi une balise script glissée dans un extrait arrive comme texte et non comme élément.

Où vont les chevrons ?

Ils deviennent des entités, donc le navigateur les affiche au lieu de les lire comme du balisage. C’est toute la raison d’être de la sortie échappée.

Pourquoi un mot-clé dans mon commentaire n’est-il pas coloré ?

Parce qu’il est à l’intérieur d’un commentaire, et le lecteur le sait. Un coloriseur qui décide d’après l’orthographe seule se tromperait ici, et celui-ci décide d’après l’état.

Puis-je avoir le résultat sans aucun balisage ?

Oui. La sortie texte brut garde l’indentation et le nombre de lignes et n’ajoute aucune couleur. C’est la copie pour un message de commit ou un terminal.

Fonctionne-t-elle dans un traitement de texte ?

Oui, par la sortie traitement de texte. Comme un document ignore une feuille de style, les couleurs arrivent en styles en ligne sur chaque span.

Puis-je réutiliser les couleurs sur mon site ?

Oui. La sortie feuille de style porte les douze règles sans balisage attaché, donc vos propres spans peuvent adopter la palette.

Mon code est-il envoyé quelque part ?

Non. La tokenisation et la coloration ont toutes deux lieu dans cet onglet. Donc un fichier non publié ne franchit jamais le réseau.

Modifie-t-il mon code ?

Non. La sortie brute est octet pour octet ce que vous avez collé, et la sortie colorée ne diffère que par les spans autour du texte.

Puis-je colorer tout un fichier ?

Oui. Un fichier de quelques milliers de lignes se colore en un instant, et la limite tient à votre machine plutôt qu’à un quota serveur.

Vérifie-t-il les erreurs de mon code ?

Non. Un coloriseur répond à la question de ce qu’est un token, pas de la validité du programme. Donc lancez le validateur pour cette question.

Puis-je colorer un diff ?

Pas directement, car un plus ou un moins en début de ligne ne fait pas partie du langage. Donc collez les deux côtés séparément.

Numérote-t-il les lignes ?

Oui, si vous le demandez. La gouttière entre dans la sortie, donc décidez avant de copier, et laissez-la de côté pour un extrait qu’un lecteur pourrait coller.

À quoi sert l’option clair et sombre ?

Elle échange la palette pour que le bloc s’accorde avec la page autour. Les tokens restent les mêmes dans les deux cas, et seules les couleurs bougent.

Gère-t-il un gabarit de chaîne sur plusieurs lignes ?

Oui. Parce que le lecteur garde la chaîne ouverte au saut de ligne, un gabarit multiligne se colore comme une seule chaîne plutôt que comme du code.

Puis-je colorer un listing pour une diapo ?

La sortie traitement de texte est celle qu’il faut. Donc collez le bloc dans le document et il garde ses couleurs.

Pourquoi mon listing est-il à moitié coloré ?

La cause habituelle est une chaîne ou un commentaire non fermé au-dessus, qui avale les lignes suivantes. Donc vérifiez le haut du collage d’abord.

Fonctionne-t-elle sur téléphone ?

Oui. Les volets s’empilent et les onglets se replient en rangées. Donc un listing court est possible loin d’un bureau, même si un long fichier est plus simple au clavier.

Faut-il un compte ou une extension ?

Non. Il n’y a ni inscription, ni plugin, ni extension à ajouter. Donc vous fermez l’onglet une fois le listing dans le presse-papiers.

Continuer

Des outils qui vont avec celui-ci

Quatre pages où mène souvent le même travail.

  • Encodeur d’entités HTML

    L’étape d’échappement à elle seule. Comme un extrait peut porter du balisage, encoder les chevrons d’abord est l’habitude à garder.

    Ouvrir l’outil →
  • Beautificateur de code

    Un listing se lit mieux quand la mise en page est stable. Donc réindentez le fichier avant de le colorer.

    Ouvrir l’outil →
  • Minificateur JavaScript

    Une fois le bloc sur une page, le script à côté peut maigrir. Donc le téléchargement qu’attend un visiteur rétrécit.

    Ouvrir l’outil →
  • Minificateur HTML

    Une fois le bloc sur une page, le balisage autour peut maigrir. Comme un navigateur télécharge chaque commentaire, c’est la dernière étape.

    Ouvrir l’outil →

Colorer le listing et copier le balisage

Choisissez le langage, collez le code, prenez une palette puis la forme de sortie qu’il vous faut. Rien n’est envoyé, car l’outil échappe le texte avant de le colorer, donc le bloc est sûr à poser sur une page. La plupart des listings sont prêts avant que le thé refroidisse.