TOML

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by TAKAHASHI Shuuji (talk | contribs) at 08:04, 30 September 2018 (Change text formats of code snippets.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

TOML
Filename extension
.toml
Internet media type
not registered
Developed byTom Preston-Werner
Initial release23 February 2013; 11 years ago (2013-02-23)
Latest release
v0.5.0
July 10, 2018; 5 years ago (2018-07-10)
Type of formatData interchange
Free format?Yes
Websitegithub.com/toml-lang/toml

TOML is a configuration file format that is intended to be easy to read due to more obvious semantics which aims to be "minimal". TOML is designed to map unambiguously to a dictionary.

"TOML", the name, is an acronym for "Tom's Obvious, Minimal Language"[1] referring to its creator: Tom Preston-Werner.

TOML is used in a number of software projects [2] and is implemented in a large number of programming languages,[3][4] despite having been flagged by its author as an unstable specification pending attainment of version 1.0.[1]

TOML is inspired by .INI file syntax, but with a more formal specification.[5]

Syntax

TOML's syntax largely consists of key = "value" pairs, [section names], and # comments.

It specifies a list of supported data types: String, Integer, Float, Boolean, Datetime, Array, and Table.

Example

# This is a TOML document.

title = "TOML Example"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # First class dates

[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true

[servers]

  # Indentation (tabs and/or spaces) is allowed but not required
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

# Line breaks are OK when inside arrays
hosts = [
  "alpha",
  "omega"
]

References

  1. ^ a b "toml-lang github".
  2. ^ "projects using toml".
  3. ^ "toml implementations".
  4. ^ "cargo config".
  5. ^ "TOML, Tom's Own Markup Language". Y Combinator Link. Y Combinator. Retrieved May 10, 2017.