{ config, lib, ... }: let inherit (lib.modules) mkIf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.strings) optionalString; cfg = config.vim.lsp; in { config = mkIf (cfg.enable && cfg.lspSignature.enable) { vim = { startPlugins = [ "lsp-signature" ]; luaConfigRC.lsp-signature = entryAnywhere '' -- Enable lsp signature viewer require("lsp_signature").setup({ ${optionalString config.vim.ui.borders.plugins.lsp-signature.enable '' bind = true, -- This is mandatory, otherwise border config won't get registered. handler_opts = { border = "${config.vim.ui.borders.plugins.lsp-signature.style}" } ''} }) ''; }; }; }