taplo/editors/vscode
JP-Ellis a2463554c3
Some checks failed
Continuous integration / Tag Releases (push) Has been cancelled
Continuous integration / Check formatting (push) Has been cancelled
Continuous integration / Test on Rust stable (push) Has been cancelled
Continuous integration / Check on WASM (push) Has been cancelled
Continuous integration / Run toml-test (push) Has been cancelled
Continuous integration / Test libraries with MSRV (push) Has been cancelled
Continuous integration / Test binaries with MSRV (push) Has been cancelled
Continuous integration / Test WASM with MSRV (push) Has been cancelled
fix: use new schemastore catalog url
SchemaStore.org is in the process of transition to GitHub pages hosting.
The new, and more canonical, URL for the catalog is:

> https://json.schemastore.org/api/json/catalog.json

though this does require following a redirect.

Ref: SchemaStore/schemastore#4759
Ref: SchemaStore/schemastore#4763
Ref: tamasfe/taplo#800
Signed-off-by: JP-Ellis <josh@jpellis.me>
2025-07-04 00:04:15 +02:00
..
images feat: vscode extension release 2022-06-16 22:27:09 +02:00
scripts Clean-up deps, fix vscode ext, refactor linter (#697) 2024-11-04 17:25:08 +01:00
src fix: remove crypto workaround since VS imports own crypto 2024-07-10 11:24:33 +02:00
.gitignore feat(vscode): web extension closes #185 2022-06-17 20:30:30 +02:00
.vscodeignore Clean-up deps, fix vscode ext, refactor linter (#697) 2024-11-04 17:25:08 +01:00
.yarnrc.yml feat: restore wasm support and vscode extension 2022-06-12 16:01:16 +02:00
CHANGELOG.md release: even-better-toml-0.21.2 2024-12-20 18:41:32 +01:00
language-configuration.json Don't auto close string delimiters in strings. 2022-06-20 15:21:30 +02:00
LICENSE.md chore: refactor and cleanup 2022-03-26 23:19:49 +01:00
node.tsconfig.json feat: vscode extension release 2022-06-16 22:27:09 +02:00
package.json fix: use new schemastore catalog url 2025-07-04 00:04:15 +02:00
README.md fix(vscode): textmate improvements 2022-06-17 11:48:21 +02:00
rollup.config.browser-extension.mjs bump all packages versions (#502) 2024-02-01 10:21:48 +08:00
rollup.config.browser-server.mjs bump all packages versions (#502) 2024-02-01 10:21:48 +08:00
rollup.config.mjs bump all packages versions (#502) 2024-02-01 10:21:48 +08:00
taplo-icon.png chore: refactor and cleanup 2022-03-26 23:19:49 +01:00
toml.frontmatter.tmLanguage.json chore: refactor and cleanup 2022-03-26 23:19:49 +01:00
toml.markdown.tmLanguage.json chore: refactor and cleanup 2022-03-26 23:19:49 +01:00
toml.tmLanguage.json fix(vscode): syntax and semantic scope, formatter config 2022-06-17 12:08:04 +02:00
tsconfig.json chore: refactor and cleanup 2022-03-26 23:19:49 +01:00
tslint.json chore: refactor and cleanup 2022-03-26 23:19:49 +01:00
yarn.lock release: even-better-toml-0.21.1 2024-12-20 18:29:05 +01:00

A TOML language support extension backed by Taplo.

It is currently a preview extension, it might contain bugs, or might even crash. If you encounter any issues, please report them on github.

Features

TOML version 1.0.0 support

This extension will try to support all the TOML versions in the future.

Syntax highlighting

Syntax highlighting for TOML documents with TextMate grammar.

Syntax Highlighting

Additional Syntax Colors

The extension defines custom scopes for array headers and arrays of tables.

In order to differentiate them from regular keys, you can set your own colors for them. Unfortunately this has to be done manually.

You might also want to set a color for dates and times, as they don't have have one in most themes.

Custom color settings for the Dark+ theme
{
  "editor.tokenColorCustomizations": {
      "textMateRules": [
          {
              "scope": "support.type.property-name.table",
              "settings": {
                  "foreground": "#4EC9B0",
              },
          },
          {
              "scope": "support.type.property-name.array",
              "settings": {
                  "foreground": "#569CD6",
              }
          },
          {
              "scope": "constant.other.time",
              "settings": {
                  "foreground": "#DCDCAA",
              }
          }
      ]
  },
}

Extended Color Highlighting

Semantic highlighting

Semantic key highlighting for inline tables and arrays can be enabled in the settings.

You need to set extended colors in order for this to have any practical effect.

Semantic Highlighting

Validation

Validation

Folding

Arrays, multi-line strings and top level tables and comments can be folded.

Folding

Symbol tree and navigation

Works even for tables not in order.

Symbols

Refactors

Renaming

Rename

Formatting

The formatter is rather conservative by default, additional features can be enabled in the settings. If you're missing a configuration option, feel free to open an issue about it!

Formatting

Completion and Validation with JSON Schema

There is support for completion, hover text, links and validation.

Schemas can be associated with document URIs with the evenBetterToml.schema.associations configuration.

You can provide your own schemas or use existing schemas from the JSON Schema Store. More details here.

Schema

Commands

The extension provides commands for easy JSON<->TOML conversions.

Configuration File

Taplo CLI's configuration file is supported and automatically found in workspace roots, or can be manually set in the VS Code configuration.

Special Thanks

  • To @GalAster and @be5invis for letting me use their TextMate grammar.
  • To every contributor.
  • And to everyone else using this extension.