From 6985c8dd872625afdd26c8f18e016632b6f69203 Mon Sep 17 00:00:00 2001 From: Quentin Boyer Date: Wed, 17 Dec 2025 22:38:49 +0100 Subject: [PATCH] neovim: Remove lsp signatures --- neovim/config/lsp.nix | 4 - neovim/plugins/default.nix | 1 - neovim/plugins/lsp-signature.nix | 198 ------------------------------- 3 files changed, 203 deletions(-) delete mode 100644 neovim/plugins/lsp-signature.nix diff --git a/neovim/config/lsp.nix b/neovim/config/lsp.nix index 3628697..5afc1d0 100644 --- a/neovim/config/lsp.nix +++ b/neovim/config/lsp.nix @@ -25,10 +25,6 @@ settings.autocmd.enabled = true; }; - plugins.lsp_signature = { - #enable = true; - }; - plugins.inc-rename = { enable = true; }; diff --git a/neovim/plugins/default.nix b/neovim/plugins/default.nix index 2ba35f0..bd1a38e 100644 --- a/neovim/plugins/default.nix +++ b/neovim/plugins/default.nix @@ -2,6 +2,5 @@ { imports = [ (import ./headerguard.nix { inherit vim-headerguard; }) - ./lsp-signature.nix ]; } diff --git a/neovim/plugins/lsp-signature.nix b/neovim/plugins/lsp-signature.nix deleted file mode 100644 index 2ab240e..0000000 --- a/neovim/plugins/lsp-signature.nix +++ /dev/null @@ -1,198 +0,0 @@ -{ - config, - lib, - pkgs, - helpers, - ... -}: -with lib; -{ - options.plugins.lsp_signature = { - enable = mkEnableOption "lsp_signature, a plugin to show function signatures"; - - package = mkOption { - type = types.package; - default = pkgs.vimPlugins.lsp_signature-nvim; - description = "Package to use for lsp_signature"; - }; - - debug = { - enable = helpers.defaultNullOpts.mkBool false "set to true to enable debug logging"; - logPath = - helpers.defaultNullOpts.mkNullable types.str ''vim.fn.stdpath("cache") .. "/lsp_signature.log"'' - "log dir when debug is on"; - verbose = helpers.defaultNullOpts.mkBool false "show debug line number"; - }; - - bind = helpers.defaultNullOpts.mkBool true '' - This is mandatory, otherwise border config won't get registered. - If you want to hook lspsaga or other signature handler, pls set to false - ''; - - docLines = helpers.defaultNullOpts.mkInt 10 '' - will show two lines of comment/doc(if there are more than two lines in doc, will be truncated); - set to 0 if you DO NOT want any API comments be shown - This setting only take effect in insert mode, it does not affect signature help in normal - mode. - ''; - - maxHeight = helpers.defaultNullOpts.mkInt 12 "max height of signature floating_window"; - maxWidth = helpers.defaultNullOpts.mkInt 82 "max_width of signature floating_window"; - noice = helpers.defaultNullOpts.mkBool false "set to true if you using noice to render markdown"; - wrap = helpers.defaultNullOpts.mkBool true '' - allow doc/signature text wrap inside floating_window, useful if your lsp return doc/sig is too - long - ''; - - floatingWindow = { - enable = helpers.defaultNullOpts.mkBool true '' - show hint in a floating window, set to false for virtual text only mode - ''; - - aboveCurLine = helpers.defaultNullOpts.mkBool true '' - try to place the floating above the current line when possible - Note: - will set to true when fully tested, set to false will use whichever side has more space - this setting will be helpful if you do not want the PUM and floating win overlap - ''; - - # NOTE: this could be functions, if need be we can adjust the types - offX = helpers.defaultNullOpts.mkInt 1 "adjust float windows x position"; - offY = helpers.defaultNullOpts.mkInt 0 '' - adjust float windows y position. e.g -2 move window up 2 lines; 2 move down 2 lines - ''; - }; - - closeTimeout = helpers.defaultNullOpts.mkInt 4000 '' - close floating window after ms when laster parameter is entered - ''; - - fixPos = helpers.defaultNullOpts.mkBool false '' - set to true, the floating window will not auto-close until finish all parameters - ''; - - hint = { - enable = helpers.defaultNullOpts.mkBool true "virtual hint enable"; - prefix = helpers.defaultNullOpts.mkStr "🐼 " '' - Panda for parameter, NOTE: for the terminal not support emoji, might crash - ''; - scheme = helpers.defaultNullOpts.mkStr "String" ""; - }; - - hiParameter = helpers.defaultNullOpts.mkStr "LspSignatureActiveParameter" "how your parameter will be highlight"; - - handlerOpts = { - border = - let - bordersTy = types.enum [ - "double" - "rounded" - "single" - "shadow" - "none" - ]; - in - helpers.defaultNullOpts.mkNullable (types.either bordersTy ( - types.listOf bordersTy - )) ''"rounded"'' ""; - }; - - alwaysTrigger = helpers.defaultNullOpts.mkBool false '' - sometime show signature on new line or in middle of parameter can be confusing, set it to - false for #58 - ''; - - autoCloseAfter = helpers.defaultNullOpts.mkNullable types.int "null" '' - autoclose signature float win after x sec, disabled if nil. - ''; - extraTriggerChars = helpers.defaultNullOpts.mkNullable (types.listOf types.str) "[]" '' - Array of extra characters that will trigger signature completion, e.g., ["(" ","] - ''; - zindex = helpers.defaultNullOpts.mkInt 200 '' - by default it will be on top of all floating windows, set to <= 50 send it to bottom - ''; - - padding = helpers.defaultNullOpts.mkStr "" '' - character to pad on left and right of signature can be " ", or "|" etc - ''; - - transparency = helpers.defaultNullOpts.mkNullable types.int "null" '' - disabled by default, allow floating win transparent value 1~100 - ''; - shadowBlend = helpers.defaultNullOpts.mkInt 36 '' - if you using shadow as border use this set the opacity - ''; - shadowGuibg = helpers.defaultNullOpts.mkStr "Black" '' - if you using shadow as border use this set the color e.g. "Green" or "#121315" - ''; - timerInterval = helpers.defaultNullOpts.mkInt 200 '' - default timer check interval set to lower value if you want to reduce latency - ''; - toggleKey = helpers.defaultNullOpts.mkNullable types.str "null" '' - toggle signature on and off in insert mode, e.g. "" - ''; - - selectSignatureKey = helpers.defaultNullOpts.mkNullable types.str "null" '' - cycle to next signature, e.g. "" function overloading - ''; - - moveCursorKey = helpers.defaultNullOpts.mkNullable types.str "null" '' - imap, use nvim_set_current_win to move cursor between current win and floating - ''; - }; - - config = - let - cfg = config.plugins.lsp_signature; - setupOptions = { - debug = cfg.debug.enable; - log_path = cfg.debug.logPath; - inherit (cfg.debug) verbose; - - inherit (cfg) bind; - doc_lines = cfg.docLines; - max_height = cfg.maxHeight; - inherit (cfg) noice; - - floating_window = cfg.floatingWindow.enable; - floating_window_above_cur_line = cfg.floatingWindow.aboveCurLine; - floating_window_off_x = cfg.floatingWindow.offX; - floating_window_off_y = cfg.floatingWindow.offY; - - close_timeout = cfg.closeTimeout; - fix_pos = cfg.fixPos; - - hint_enable = cfg.hint.enable; - hint_prefix = cfg.hint.prefix; - hint_scheme = cfg.hint.scheme; - - hi_parameter = cfg.hiParameter; - handle_opts = { - inherit (cfg.handlerOpts) border; - }; - - always_trigger = cfg.alwaysTrigger; - auto_close_after = cfg.autoCloseAfter; - extra_trigger_chars = cfg.extraTriggerChars; - inherit (cfg) zindex; - - inherit (cfg) padding; - - inherit (cfg) transparency; - shadow_blend = cfg.shadowBlend; - shadow_guibg = cfg.shadowGuibg; - timer_interval = cfg.timerInterval; - toggle_key = cfg.toggleKey; - - select_signature_key = cfg.selectSignatureKey; - move_cursor_key = cfg.moveCursorKey; - }; - in - mkIf cfg.enable { - extraPlugins = [ cfg.package ]; - - extraConfigLua = '' - require("lsp_signature").setup(${helpers.toLuaObject setupOptions}) - ''; - }; -}