Aller au contenu

Formateur et validateur TOML

TOML Formatter & Validator

Met en forme et valide du TOML, en normalisant l’ordre des tables et le style des tables en ligne.

Normalise l'espacement d'un fichier TOML — `key = value`, espaces des en-têtes, retours à la ligne des tableaux — et le contrôle au passage contre la spécification TOML 1.0. Deux lecteurs parcourent le fichier : l'un connaît les règles d'écriture et garde les commentaires, l'autre connaît les règles sémantiques et produit la vue JSON.

🔒 Fonctionne entièrement dans votre navigateurtomlformatvalidateconfig
Sortie
Tables en ligne
Largeur de repli des tableaux

TOML en entrée

Déposez un fichier .toml

Lu dans cet onglet seulement. Rien n’est envoyé.

TOML formaté

Formaté.

Tables

5

Paires clé/valeur

13

Commentaires

1

Vérification

réussie

Ce qu’il change et ce qu’il laisse

  • · Sont normalisées les espaces autour de key = value, les blancs d’un en-tête comme [ a . b ] et les écarts à l’intérieur des tableaux et des tables en ligne, avec une ligne vide avant chaque en-tête.
  • · Un tableau court tient sur une ligne ; un tableau qui dépasse la largeur de repli, ou qui contient un commentaire, passe à un élément par ligne avec une virgule finale.
  • · Les chaînes, les nombres et les dates restent exactement tels qu’ils sont écrits. Transformer 1_000 en 1000, ou 0xff en 255, relève de l’édition et non du formatage.
  • · Une clé qui n’a pas besoin de ses guillemets ("name") les perd ; une clé qui en a besoin ("127.0.0.1") s’écrit avec des guillemets littéraux.
  • · Un zéro en tête, un tiret bas mal placé, True, une table en ligne répartie sur plusieurs lignes, une clé en double et une table définie deux fois sont tous refusés, conformément à la spécification TOML 1.0 sur toml.io.

Pour convertir en JSON ou en YAML, utilisez la Conversion JSON ⇄ TOML.

Comment s’en servir

  1. Collez le fichier

    Un `Cargo.toml`, un `pyproject.toml`, un `netlify.toml`. L'espacement incohérent est le sujet — c'est ce qui est corrigé.

  2. Réglez la largeur de retour à la ligne des tableaux

    Un tableau court reste sur une ligne ; tout ce qui dépasse cette largeur, ou qui contient un commentaire, passe à un élément par ligne avec une virgule finale. C'est cette virgule finale qui limite les futurs diffs à une seule ligne.

  3. Triez si cela aide, et seulement alors

    Le tri des clés ne déplace que les lignes clé/valeur et laisse les commentaires et les lignes vides en place. Le tri des tables ordonne les en-têtes d'un même niveau et emmène leurs sous-tables avec eux. L'ordre d'un tableau de tables est une donnée : il n'y est jamais touché.

Questions fréquentes

Pourquoi `1_000` n'est-il pas réécrit en `1000` ?

Parce que c'est une modification, pas un formatage. Les tirets bas dans les nombres, les littéraux hexadécimaux et l'orthographe exacte d'une date sont autant de choses que l'auteur a choisies. Le formateur change les espaces et les guillemets, et laisse les valeurs telles qu'écrites.

Il a rejeté mon fichier alors qu'un autre analyseur l'a accepté.

Il s'agit sans doute d'une des choses que TOML 1.0 interdit et que les lecteurs permissifs autorisent : un zéro en tête, un tiret bas mal placé, `True` avec un T majuscule, une table en ligne étalée sur plusieurs lignes, une clé en double, ou une table définie deux fois. L'erreur nomme laquelle, avec un numéro de ligne.

Que devient une date quand je bascule en JSON ?

Elle devient une chaîne, et un avertissement le dit. TOML a les dates-heures avec décalage, les dates locales et les heures locales comme vrais types ; JSON n'en a aucun : le texte passe donc tel quel et son type est perdu.

Les commentaires sont-ils gardés ?

Oui, y compris leur position par rapport à la clé à laquelle ils appartiennent — c'est la raison pour laquelle le formateur a son propre analyseur au lieu de réutiliser le lecteur du convertisseur. Le nombre de commentaires est affiché dans les statistiques.

À alimenter depuis

Ensuite

Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.