From 08558dd9db6e4daf14380c05d13d7b8a2824db8e Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 18 Feb 2026 20:09:57 +0100 Subject: [PATCH] languages/toml: add taplo (#1386) --- docs/manual/release-notes/rl-0.9.md | 3 +++ modules/plugins/languages/toml.nix | 27 ++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index ea460926..4a322868 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -45,6 +45,9 @@ allow valid options. `default` is no longer valid. `inline` and `split` are two new valid options. +- Added [taplo](https://taplo.tamasfe.dev/) as the default formatter and lsp for + `languages.toml` so we don't default to AI-Slop. + ## Changelog {#sec-release-0-9-changelog} [taylrfnt](https://github.com/taylrfnt) diff --git a/modules/plugins/languages/toml.nix b/modules/plugins/languages/toml.nix index d771925b..9a5ec948 100644 --- a/modules/plugins/languages/toml.nix +++ b/modules/plugins/languages/toml.nix @@ -8,12 +8,12 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; - inherit (lib.types) bool enum; + inherit (lib.types) enum; inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf; inherit (lib.nvim.attrsets) mapListToAttrs; cfg = config.vim.languages.toml; - defaultServers = ["tombi"]; + defaultServers = ["taplo"]; servers = { tombi = { enable = true; @@ -27,9 +27,21 @@ ".git" ]; }; + taplo = { + enable = true; + cmd = [ + (getExe pkgs.taplo) + "lsp" + "stdio" + ]; + filetypes = ["toml"]; + root_markers = [ + ".git" + ]; + }; }; - defaultFormat = ["tombi"]; + defaultFormat = ["taplo"]; formats = { tombi = { command = getExe pkgs.tombi; @@ -40,6 +52,15 @@ "-" ]; }; + taplo = { + command = getExe pkgs.taplo; + args = [ + "format" + "--stdin-filepath" + "$FILENAME" + "-" + ]; + }; }; defaultDiagnosticsProvider = ["tombi"]; diagnosticsProviders = {