diff --git a/modules/plugins/lsp/presets/default.nix b/modules/plugins/lsp/presets/default.nix index d8bde108..4827f598 100644 --- a/modules/plugins/lsp/presets/default.nix +++ b/modules/plugins/lsp/presets/default.nix @@ -35,6 +35,7 @@ ./lua-language-server.nix ./markdown-oxide.nix ./marksman.nix + ./millet.nix ./neocmakelsp.nix ./nil.nix ./nimlsp.nix diff --git a/modules/plugins/lsp/presets/millet.nix b/modules/plugins/lsp/presets/millet.nix new file mode 100644 index 00000000..e63d5267 --- /dev/null +++ b/modules/plugins/lsp/presets/millet.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib.meta) getExe; + inherit (lib.modules) mkIf; + inherit (lib.nvim.types) mkLspPresetEnableOption; + + cfg = config.vim.lsp.presets.millet; +in { + options.vim.lsp.presets.millet = { + enable = mkLspPresetEnableOption "millet" "Millet Standard ML" []; + }; + + config = mkIf cfg.enable { + vim.lsp.servers.millet = { + enable = true; + cmd = [(getExe pkgs.millet)]; + root_markers = [".git" "millet.toml"]; + }; + }; +}