From b6e2016b7fa5dba2f7f62e71828fba5db505b4cf Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Thu, 1 May 2025 00:32:51 +0100 Subject: [PATCH] modules/lsp: check if server `settings` is empty Avoid unnecessary lua lines by checking if `server.settings` is empty before writing `vim.lsp.config()` to `init.lua`. --- modules/lsp/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/modules/lsp/default.nix b/modules/lsp/default.nix index 026cd9b5..b43badb7 100644 --- a/modules/lsp/default.nix +++ b/modules/lsp/default.nix @@ -179,16 +179,14 @@ in luaName = toLuaObject server.name; luaSettings = toLuaObject server.settings; in - '' - vim.lsp.config(${luaName}, ${luaSettings}) - '' - + lib.optionalString (server.activate or false) '' - vim.lsp.enable(${luaName}) - ''; + [ + (lib.mkIf (server.settings != { }) "vim.lsp.config(${luaName}, ${luaSettings})") + (lib.mkIf (server.activate or false) "vim.lsp.enable(${luaName})") + ]; in lib.mkMerge ( lib.optional cfg.inlayHints.enable "vim.lsp.inlay_hint.enable(true)" - ++ builtins.map mkServerConfig enabledServers + ++ builtins.concatMap mkServerConfig enabledServers ); extraConfigLua = lib.mkIf (cfg.luaConfig.content != "") ''