From f2f70b4376874b74d9bae0df2d4bfd5292c1499e Mon Sep 17 00:00:00 2001 From: Firelight Flagboy Date: Thu, 6 Feb 2025 11:20:36 +0100 Subject: [PATCH] blink-cmp: Set lsp capabilities Co-authored-by: Austin Horstman --- plugins/by-name/blink-cmp/default.nix | 16 ++++++++++++++++ .../plugins/by-name/blink-cmp/default.nix | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/plugins/by-name/blink-cmp/default.nix b/plugins/by-name/blink-cmp/default.nix index ec8580aa..16e9b312 100644 --- a/plugins/by-name/blink-cmp/default.nix +++ b/plugins/by-name/blink-cmp/default.nix @@ -42,4 +42,20 @@ lib.nixvim.plugins.mkNeovimPlugin { }; signature.enabled = true; }; + + extraOptions = { + setupLspCapabilities = lib.nixvim.options.mkEnabledOption "LSP capabilities for blink-cmp"; + }; + + extraConfig = cfg: { + # TODO: On Neovim 0.11+ and Blink.cmp 0.10+ with vim.lsp.config, you may skip this step. + # This is still required when using nvim-lspconfig, until this issue is completed: + # https://github.com/neovim/nvim-lspconfig/issues/3494 + plugins.lsp.capabilities = + lib.mkIf cfg.setupLspCapabilities # lua + '' + -- Capabilities configuration for blink-cmp + capabilities = require("blink-cmp").get_lsp_capabilities(capabilities) + ''; + }; } diff --git a/tests/test-sources/plugins/by-name/blink-cmp/default.nix b/tests/test-sources/plugins/by-name/blink-cmp/default.nix index 257f50fb..985616aa 100644 --- a/tests/test-sources/plugins/by-name/blink-cmp/default.nix +++ b/tests/test-sources/plugins/by-name/blink-cmp/default.nix @@ -406,4 +406,12 @@ }; }; }; + + lsp-compat = { + plugins.blink-cmp = { + enable = true; + setupLspCapabilities = true; + }; + plugins.lsp.enable = true; + }; }