Vai al contenuto

Formattatore e validatore TOML

TOML Formatter & Validator

Formatta e valida il TOML, uniformando l’ordine delle tabelle e lo stile delle tabelle in linea.

Normalizza la spaziatura in un file TOML — `key = value`, gli spazi nelle intestazioni, l’andata a capo negli array — e già che c’è lo controlla rispetto alla specifica TOML 1.0. Sul file passano due lettori: uno che conosce le regole di scrittura e conserva i commenti, e uno che conosce quelle semantiche e produce la vista JSON.

🔒 Funziona interamente nel tuo browsertomlformatvalidateconfig
Uscita
Tabelle in linea
Larghezza di a capo per gli array

TOML in ingresso

Trascina un file .toml

Letto solo in questa scheda. Non viene caricato niente.

TOML formattato

Formattato.

Tabelle

5

Coppie chiave/valore

13

Commenti

1

Controllo

superato

Che cosa cambia e che cosa lascia stare

  • · Vengono uniformati gli spazi attorno a key = value, i bianchi in un’intestazione come [ a . b ] e gli spazi dentro array e tabelle in linea, con una riga vuota prima di ogni intestazione.
  • · Un array corto sta su una riga; un array che supera la larghezza di a capo, o che ha un commento dentro, va a un elemento per riga con la virgola finale.
  • · Stringhe, numeri e date restano esattamente come sono scritti. Trasformare 1_000 in 1000, oppure 0xff in 255, è una modifica, non una formattazione.
  • · Una chiave che non ha bisogno delle virgolette ("name") le perde; una che ne ha bisogno ("127.0.0.1") si scrive con le virgolette letterali.
  • · Uno zero iniziale, un trattino basso fuori posto, True, una tabella in linea sparsa su più righe, una chiave duplicata e una tabella definita due volte vengono tutti rifiutati, secondo la specifica TOML 1.0 su toml.io.

Per convertire in JSON o YAML usa la Conversione JSON ⇄ TOML.

Come si usa

  1. Incollare il file

    Un `Cargo.toml`, un `pyproject.toml`, un `netlify.toml`. La spaziatura incoerente è il punto: è quello che si sta sistemando.

  2. Impostare la larghezza a cui gli array vanno a capo

    Un array corto resta su una riga; tutto quello che supera la larghezza, o che ha un commento dentro, passa a un elemento per riga con una virgola finale. È quella virgola finale a tenere i diff futuri a una riga sola.

  3. Ordinare se serve, e solo allora

    L’ordinamento delle chiavi sposta solo le righe chiave/valore e lascia commenti e righe vuote dove sono. L’ordinamento delle tabelle mette in ordine le intestazioni di un livello e si porta dietro le loro sotto-tabelle. L’ordine di un array di tabelle è un dato, quindi non viene mai toccato.

Domande frequenti

Perché `1_000` non viene riscritto come `1000`?

Perché quella è una modifica, non una formattazione. I trattini bassi nei numeri, i letterali esadecimali e la scrittura esatta di una data sono tutte cose che ha scelto chi ha scritto il file. Il formattatore cambia spazi bianchi e quoting, e lascia i valori come sono scritti.

Ha rifiutato il mio file ma un altro parser lo ha accettato.

Probabilmente una delle cose che TOML 1.0 vieta e i lettori indulgenti permettono: uno zero iniziale, un trattino basso fuori posto, `True` con la T maiuscola, una tabella inline distribuita su più righe, una chiave duplicata o una tabella definita due volte. L’errore dice quale, con il numero di riga.

Che cosa succede a una data quando si passa a JSON?

Diventa una stringa, e un avviso lo dice. TOML ha le date e ore con offset, le date locali e le ore locali come tipi veri; JSON non ne ha nessuno, quindi il testo viene portato di là e il suo tipo si perde.

I commenti vengono conservati?

Sì, compresa la loro posizione rispetto alla chiave a cui appartengono, che è il motivo per cui il formattatore ha uno scanner suo invece di riusare il lettore del convertitore. Il conteggio dei commenti compare nelle statistiche.

Può ricevere da

Dopo

Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.