From 052582c30ac8a889d47992886609f4ddbd9356ad Mon Sep 17 00:00:00 2001 From: diniamo Date: Thu, 19 Sep 2024 20:11:06 +0200 Subject: [PATCH] Squash merge new-codeactions into custom --- configuration.nix | 8 +++- flake.lock | 17 +++++++++ flake.nix | 5 +++ modules/extra/deprecations.nix | 7 ++++ modules/plugins/lsp/default.nix | 1 - .../lsp/nvim-code-action-menu/config.nix | 38 ------------------- .../nvim-code-action-menu.nix | 20 ---------- modules/plugins/ui/default.nix | 1 + modules/plugins/ui/fastaction/config.nix | 20 ++++++++++ .../fastaction}/default.nix | 2 +- .../plugins/ui/fastaction/fastaction-nvim.nix | 9 +++++ 11 files changed, 67 insertions(+), 61 deletions(-) delete mode 100644 modules/plugins/lsp/nvim-code-action-menu/config.nix delete mode 100644 modules/plugins/lsp/nvim-code-action-menu/nvim-code-action-menu.nix create mode 100644 modules/plugins/ui/fastaction/config.nix rename modules/plugins/{lsp/nvim-code-action-menu => ui/fastaction}/default.nix (55%) create mode 100644 modules/plugins/ui/fastaction/fastaction-nvim.nix diff --git a/configuration.nix b/configuration.nix index 03adb5ce..9d1fa505 100644 --- a/configuration.nix +++ b/configuration.nix @@ -17,11 +17,16 @@ isMaximal: { lspkind.enable = false; lightbulb.enable = true; lspsaga.enable = false; - nvimCodeActionMenu.enable = isMaximal; trouble.enable = true; lspSignature.enable = true; lsplines.enable = isMaximal; nvim-docs-view.enable = isMaximal; + + # Code Actions + code-actions = { + enable = true; + fastaction-nvim.enable = true; + }; }; debugger = { @@ -205,6 +210,7 @@ isMaximal: { go = ["90" "130"]; }; }; + fastaction.enable = true; }; assistant = { diff --git a/flake.lock b/flake.lock index 574e2220..4deb5853 100644 --- a/flake.lock +++ b/flake.lock @@ -571,6 +571,22 @@ "type": "github" } }, + "plugin-fastaction-nvim": { + "flake": false, + "locked": { + "lastModified": 1721396662, + "narHash": "sha256-L7na78FsE+QHlEwxMpiwQcoOPhtmrknvdTZfzUoDANI=", + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim", + "rev": "2384dea7ba81d2709d0bee0e4bc7a8831ff13a9d", + "type": "github" + }, + "original": { + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim", + "type": "github" + } + }, "plugin-fidget-nvim": { "flake": false, "locked": { @@ -1855,6 +1871,7 @@ "plugin-dracula": "plugin-dracula", "plugin-dressing-nvim": "plugin-dressing-nvim", "plugin-elixir-tools": "plugin-elixir-tools", + "plugin-fastaction-nvim": "plugin-fastaction-nvim", "plugin-fidget-nvim": "plugin-fidget-nvim", "plugin-flutter-tools": "plugin-flutter-tools", "plugin-gesture-nvim": "plugin-gesture-nvim", diff --git a/flake.nix b/flake.nix index c00e9b8b..5c1723cc 100644 --- a/flake.nix +++ b/flake.nix @@ -138,6 +138,11 @@ flake = false; }; + plugin-fastaction-nvim = { + url = "github:Chaitanyabsprip/fastaction.nvim"; + flake = false; + }; + plugin-lsp-signature = { url = "github:ray-x/lsp_signature.nvim"; flake = false; diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index cb063800..8809092d 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -7,5 +7,12 @@ in { Tidalcycles language support has been removed as of 2024-06-06 as it was long unmaintained. If you depended on this functionality, please open an issue. '') + + # 2024-07-20 + (mkRemovedOptionModule ["vim" "lsp" "nvimCodeActionMenu"] '' + nvimCodeActionMenu has been deprecated and archived upstream. As of 0.7, code-actions will be + available under `vim.lsp.code-actions.enable` and `vim.lsp.code.actions..enable`. + Please take a look at the nvf manual for more details. + '') ]; } diff --git a/modules/plugins/lsp/default.nix b/modules/plugins/lsp/default.nix index f8408aab..a5d5163d 100644 --- a/modules/plugins/lsp/default.nix +++ b/modules/plugins/lsp/default.nix @@ -10,7 +10,6 @@ # lsp plugins ./lspsaga - ./nvim-code-action-menu ./trouble ./lsp-signature ./lightbulb diff --git a/modules/plugins/lsp/nvim-code-action-menu/config.nix b/modules/plugins/lsp/nvim-code-action-menu/config.nix deleted file mode 100644 index 145cb609..00000000 --- a/modules/plugins/lsp/nvim-code-action-menu/config.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - config, - lib, - ... -}: let - inherit (lib.modules) mkIf; - inherit (lib.nvim.dag) entryAnywhere; - inherit (lib.nvim.binds) mkSetBinding addDescriptionsToMappings pushDownDefault; - inherit (lib.nvim.lua) toLuaObject; - - cfg = config.vim.lsp; - - self = import ./nvim-code-action-menu.nix {inherit lib;}; - mappingDefinitions = self.options.vim.lsp.nvimCodeActionMenu.mappings; - mappings = addDescriptionsToMappings cfg.nvimCodeActionMenu.mappings mappingDefinitions; -in { - config = mkIf (cfg.enable && cfg.nvimCodeActionMenu.enable) { - vim = { - startPlugins = ["nvim-code-action-menu"]; - - maps.normal = mkSetBinding mappings.open ":CodeActionMenu"; - - binds.whichKey.register = pushDownDefault { - "c" = "+CodeAction"; - }; - - pluginRC.code-action-menu = entryAnywhere '' - -- border configuration - vim.g.code_action_menu_window_border = ${toLuaObject config.vim.ui.borders.plugins.code-action-menu.style} - - -- show individual sections of the code action menu - ${lib.optionalString cfg.nvimCodeActionMenu.show.details "vim.g.code_action_menu_show_details = true"} - ${lib.optionalString cfg.nvimCodeActionMenu.show.diff "vim.g.code_action_menu_show_diff = true"} - ${lib.optionalString cfg.nvimCodeActionMenu.show.actionKind "vim.g.code_action_menu_show_action_kind = true"} - ''; - }; - }; -} diff --git a/modules/plugins/lsp/nvim-code-action-menu/nvim-code-action-menu.nix b/modules/plugins/lsp/nvim-code-action-menu/nvim-code-action-menu.nix deleted file mode 100644 index c303f7c7..00000000 --- a/modules/plugins/lsp/nvim-code-action-menu/nvim-code-action-menu.nix +++ /dev/null @@ -1,20 +0,0 @@ -{lib, ...}: let - inherit (lib.options) mkEnableOption; - inherit (lib.nvim.binds) mkMappingOption; -in { - options.vim.lsp = { - nvimCodeActionMenu = { - enable = mkEnableOption "nvim code action menu"; - - show = { - details = mkEnableOption "Show details" // {default = true;}; - diff = mkEnableOption "Show diff" // {default = true;}; - actionKind = mkEnableOption "Show action kind" // {default = true;}; - }; - - mappings = { - open = mkMappingOption "Open code action menu [nvim-code-action-menu]" "ca"; - }; - }; - }; -} diff --git a/modules/plugins/ui/default.nix b/modules/plugins/ui/default.nix index 262cdbbf..34076600 100644 --- a/modules/plugins/ui/default.nix +++ b/modules/plugins/ui/default.nix @@ -8,5 +8,6 @@ ./illuminate ./breadcrumbs ./borders + ./fastaction ]; } diff --git a/modules/plugins/ui/fastaction/config.nix b/modules/plugins/ui/fastaction/config.nix new file mode 100644 index 00000000..252bfb1e --- /dev/null +++ b/modules/plugins/ui/fastaction/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf mkDefault; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.ui.fastaction; +in { + config = mkIf cfg.enable { + vim = { + ui.fastaction.setupOpts.register_ui_select = mkDefault true; + + startPlugins = ["fastaction-nvim"]; + pluginRC.fastaction-nvim = entryAnywhere "require('fastaction').setup(${toLuaObject cfg.setupOpts})"; + }; + }; +} diff --git a/modules/plugins/lsp/nvim-code-action-menu/default.nix b/modules/plugins/ui/fastaction/default.nix similarity index 55% rename from modules/plugins/lsp/nvim-code-action-menu/default.nix rename to modules/plugins/ui/fastaction/default.nix index f94dd221..ef5c2bc9 100644 --- a/modules/plugins/lsp/nvim-code-action-menu/default.nix +++ b/modules/plugins/ui/fastaction/default.nix @@ -1,6 +1,6 @@ { imports = [ - ./nvim-code-action-menu.nix + ./fastaction-nvim.nix ./config.nix ]; } diff --git a/modules/plugins/ui/fastaction/fastaction-nvim.nix b/modules/plugins/ui/fastaction/fastaction-nvim.nix new file mode 100644 index 00000000..52ac59a9 --- /dev/null +++ b/modules/plugins/ui/fastaction/fastaction-nvim.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.ui.fastaction = { + enable = mkEnableOption "overriding vim.ui.select with fastaction.nvim"; + setupOpts = mkPluginSetupOption "fastaction" {}; + }; +}