2023-02-01 20:11:37 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
2023-11-08 03:16:46 +01:00
|
|
|
}: let
|
2024-03-12 01:46:29 +01:00
|
|
|
inherit (lib.modules) mkIf;
|
|
|
|
inherit (lib.nvim.dag) entryAnywhere;
|
|
|
|
inherit (lib.strings) optionalString;
|
2023-11-08 03:16:46 +01:00
|
|
|
|
2023-02-01 20:11:37 +01:00
|
|
|
cfg = config.vim.lsp;
|
|
|
|
in {
|
|
|
|
config = mkIf (cfg.enable && cfg.lspSignature.enable) {
|
2024-03-12 01:46:29 +01:00
|
|
|
vim = {
|
|
|
|
startPlugins = [
|
|
|
|
"lsp-signature"
|
|
|
|
];
|
2023-02-01 20:11:37 +01:00
|
|
|
|
2024-03-12 01:46:29 +01:00
|
|
|
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}"
|
|
|
|
}
|
|
|
|
''}
|
|
|
|
})
|
|
|
|
'';
|
|
|
|
};
|
2023-02-01 20:11:37 +01:00
|
|
|
};
|
|
|
|
}
|