diff --git a/neovim/languages/toml.nix b/neovim/languages/toml.nix new file mode 100644 index 00000000..6806db17 --- /dev/null +++ b/neovim/languages/toml.nix @@ -0,0 +1,47 @@ +{ lib, pkgs, ... }: +{ + config.vim = { + extraPackages = [ + pkgs.tombi + ]; + diagnostics.nvim-lint = { + linters_by_ft.toml = [ "tombi" ]; + linters.tombi = { + cmd = lib.meta.getExe pkgs.tombi; + args = [ + "lint" + "--offline" + ]; + }; + }; + formatter.conform-nvim = { + setupOpts = { + formatters_by_ft.toml = [ "tombi" ]; + formatters = { + tombi = { + command = lib.meta.getExe pkgs.tombi; + args = [ + "format" + "--offline" + "--stdin-filename" + "$FILENAME" + "-" + ]; + }; + }; + }; + }; + lsp.servers.tombi = { + enable = true; + filetypes = [ "toml" ]; + cmd = [ + (lib.meta.getExe pkgs.tombi) + "lsp" + "--offline" + ]; + }; + treesitter.grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + toml + ]; + }; +}