From 8b3107ad6f520080135e06ab6c017bdd3952d210 Mon Sep 17 00:00:00 2001 From: Johan Larsson Date: Thu, 1 May 2025 11:57:35 +0200 Subject: [PATCH] plugins/clangd-extensions: adapt to new lsp module Adapt warnings, default settings, and tests to the new lsp module. Also change the previous warning, which I think should target the clangd server directly, and just not `plugins.lsp`, since the clangd server is necessary for clangd-extensions to function. --- plugins/by-name/clangd-extensions/default.nix | 17 +++++++++++++---- .../by-name/clangd-extensions/default.nix | 17 +++++++++++++---- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/plugins/by-name/clangd-extensions/default.nix b/plugins/by-name/clangd-extensions/default.nix index c2f10db9..7ff47823 100644 --- a/plugins/by-name/clangd-extensions/default.nix +++ b/plugins/by-name/clangd-extensions/default.nix @@ -76,18 +76,27 @@ lib.nixvim.plugins.mkNeovimPlugin { extraConfig = cfg: { warnings = lib.nixvim.mkWarnings "plugins.clangd-extensions" { - when = !config.plugins.lsp.enable; + when = !(config.plugins.lsp.enable || config.lsp.servers.clangd.enable); message = '' - You have enabled `clangd-extensions` but not the lsp (`plugins.lsp`). - You should set `plugins.lsp.enable = true` to make use of the clangd-extensions' features. + You have enabled `clangd-extensions` but not the lsp (`plugins.lsp` or `lsp.servers.clangd`). + You should set `plugins.lsp.enable = true` or `lsp.servers.clangd.enable = true` to make use of the clangd-extensions' features. ''; }; + lsp = { + servers.clangd = { + settings = lib.mkIf cfg.enableOffsetEncodingWorkaround { + capabilities = { + offsetEncoding = [ "utf-16" ]; + }; + }; + }; + }; + plugins.lsp = { servers.clangd = { enable = lib.mkDefault true; - extraOptions = lib.mkIf cfg.enableOffsetEncodingWorkaround { capabilities.__raw = '' vim.tbl_deep_extend( diff --git a/tests/test-sources/plugins/by-name/clangd-extensions/default.nix b/tests/test-sources/plugins/by-name/clangd-extensions/default.nix index e3c3863f..ce4e4fd3 100644 --- a/tests/test-sources/plugins/by-name/clangd-extensions/default.nix +++ b/tests/test-sources/plugins/by-name/clangd-extensions/default.nix @@ -1,15 +1,16 @@ { empty = { + lsp.servers.clangd.enable = true; + plugins = { - lsp.enable = true; clangd-extensions.enable = true; }; }; default = { - plugins = { - lsp.enable = true; + lsp.servers.clangd.enable = true; + plugins = { clangd-extensions = { enable = true; @@ -50,8 +51,9 @@ }; example = { + lsp.servers.clangd.enable = true; + plugins = { - lsp.enable = true; clangd-extensions = { enable = true; @@ -70,4 +72,11 @@ }; }; }; + + emptyOld = { + plugins = { + lsp.enable = true; + clangd-extensions.enable = true; + }; + }; }