diff --git a/neovim/dishvim.nix b/neovim/dishvim.nix index f62fe863..9121beba 100644 --- a/neovim/dishvim.nix +++ b/neovim/dishvim.nix @@ -2,6 +2,7 @@ { imports = [ # keep-sorted start + ./languages/caddyfile.nix ./languages/css.nix ./languages/fish.nix ./languages/json.nix diff --git a/neovim/languages/caddyfile.nix b/neovim/languages/caddyfile.nix new file mode 100644 index 00000000..2fb367f0 --- /dev/null +++ b/neovim/languages/caddyfile.nix @@ -0,0 +1,39 @@ +{ + lib, + pkgs, + # inputs, + ... +}: +{ + config.vim = { + treesitter.grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + caddy + ]; + formatter.conform-nvim.setupOpts = { + formatters_by_ft.caddyfile = [ "caddy" ]; + formatters.caddy = { + command = lib.meta.getExe pkgs.caddy; + args = [ + "fmt" + "-" + ]; + stdin = true; + }; + }; + + # TODO: Doesn't work for some reason + # lsp.servers.caddy = { + # enable = true; + # single_file_support = true; + # cmd = [ + # (lib.meta.getExe inputs.self.packages.${pkgs.stdenv.system}.caddyfile-language-server) + # "--stdio" + # ]; + # root_markers = [ + # ".git" + # "Caddyfile" + # ]; + # filetypes = [ "caddyfile" ]; + # }; + }; +}