Tombi
Tombi (鳶) is a toolkit for TOML; providing a formatter/linter and language server
| Type | object |
|---|---|
| File match |
tombi.toml
**/tombi/config.toml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/tombi/latest.json |
| Source | https://www.schemastore.org/tombi.json |
Validate with Lintel
npx @lintel/lintel check
Tombi (鳶 /toɴbi/) is a toolkit for TOML; providing a formatter/linter and language server.
See the GitHub repository for more information.
Properties
TOML version to use if not specified in the schema and comment directive.
Definitions
The file match pattern to include in formatting and linting. Supports glob pattern.
[
"**/*.toml"
]
The file match pattern to exclude from formatting and linting. Supports glob pattern.
key = [ 1, 2, 3 ]
# ^ ^ <- this
key = [ 1, 2, 3 ]
# ^ ^ <- this
In accordance with RFC 3339, you can use T or space character between date and time.
T: UseTbetween date and time like2001-01-01T00:00:00space: Use space between date and time like2001-01-01 00:00:00preserve: Preserve the original delimiter.
Whether to use spaces or tabs for indentation.
space: Use spaces for indentation.tab: Use tabs for indentation.
If true, the sub-table will be indented.
[table]
[table.sub-table]
key = "value"
# ^^ <- this
If true, the table key-value pairs will be indented.
[table]
key = "value"
# ^^ <- this
⚠️ WARNING ⚠️
This option is only used when the indentation style is space.
key = { a = 1, b = 2 }
# ^ ^ <- this
key = { a = 1, b = 2 }
# ^ <- this
If true, the equals sign in the key-value pairs will be aligned.
⚠️ WARNING ⚠️
This feature does not apply to key-value pairs inside single line inline tables.
# BEFORE
key = "value1"
key2 = "value2"
key3.key4 = "value3"
# AFTER
key = "value1"
key2 = "value2"
key3.key4 = "value3"
If true, the trailing comments in value/key-value pairs will be aligned.
📝 NOTE 📝
The trailing comments of table header are not targeted by alignment.
# BEFORE
key = "value1" # comment 1
key2 = "value2" # comment 2
key3.key4 = "value3" # comment 3
# AFTER
key = "value1" # comment 1
key2 = "value2" # comment 2
key3.key4 = "value3" # comment 3
key = "value"
# ^ ^ <- this
In TOML, the line ending must be either LF or CRLF.
lf: Line Feed only (\n), common on Linux and macOS as well as inside git repos.crlf: Carriage Return Line Feed (\r\n), common on Windows.
The formatter will try to keep lines within this width.
key = "value" # trailing comment
# ^^ <- this
DateTime delimiter
The preferred quote character for strings.
Check if the key is empty.
# VALID BUT DISCOURAGED
"" = true
Check if dotted keys are defined out of order.
# VALID BUT DISCOURAGED
apple.type = "fruit"
orange.type = "fruit"
apple.skin = "thin"
orange.skin = "thick"
# RECOMMENDED
apple.type = "fruit"
apple.skin = "thin"
orange.type = "fruit"
orange.skin = "thick"
Check if tables are defined out of order.
# VALID BUT DISCOURAGED
[fruit.apple]
[animal]
[fruit.orange]
# RECOMMENDED
[fruit.apple]
[fruit.orange]
[animal]
Whether to enable code action.
Whether to enable completion.
Whether to enable diagnostic.
Whether to enable document link.
Whether to enable formatting.
Whether to enable goto definition.
Whether to enable hover.
Whether to enable workspace diagnostic.
If additionalProperties is not specified in the JSON Schema,
the strict mode treats it as additionalProperties: false,
which is different from the JSON Schema specification.
The catalog is evaluated after the schemas specified by [[schemas]].
Schemas are loaded in order from the beginning of the catalog list.
[
"tombi://www.schemastore.org/api/json/catalog.json",
"https://www.schemastore.org/api/json/catalog.json"
]
Generic value that can be either single or multiple
The file match pattern to include the target to apply the schema. Supports glob pattern.
The file match pattern to include the target to apply the sub schema. Supports glob pattern.
The file match pattern to include in formatting and linting. Supports glob pattern.
The file match pattern to exclude from formatting and linting. Supports glob pattern.