diff --git a/plugins/by-name/nvim-ufo/default.nix b/plugins/by-name/nvim-ufo/default.nix index 2edda413..8e840373 100644 --- a/plugins/by-name/nvim-ufo/default.nix +++ b/plugins/by-name/nvim-ufo/default.nix @@ -130,4 +130,20 @@ lib.nixvim.plugins.mkNeovimPlugin { end ''; }; + + extraOptions = { + setupLspCapabilities = lib.nixvim.options.mkEnabledOption "setup LSP capabilities for nvim-ufo"; + }; + + extraConfig = cfg: { + plugins.lsp.capabilities = + lib.mkIf cfg.setupLspCapabilities # lua + '' + -- Capabilities configuration for nvim-ufo + capabilities.textDocument.foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true + } + ''; + }; } diff --git a/tests/test-sources/plugins/by-name/nvim-ufo/default.nix b/tests/test-sources/plugins/by-name/nvim-ufo/default.nix index 7ba0f94a..87db4214 100644 --- a/tests/test-sources/plugins/by-name/nvim-ufo/default.nix +++ b/tests/test-sources/plugins/by-name/nvim-ufo/default.nix @@ -90,4 +90,12 @@ }; }; }; + + lsp-compat = { + plugins.nvim-ufo = { + enable = true; + setupLspCapabilities = true; + }; + plugins.lsp.enable = true; + }; }