From 3b6522508295afbdc97e4bdf5db8cd3a559b7af1 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Sun, 28 Apr 2024 21:58:28 +0200 Subject: [PATCH] mzte-nv: use lspsaga --- flake.lock | 6 ++--- mzte-nv/conf/lua/maps.fnl | 7 +----- mzte-nv/conf/lua/pluginconf/p-aerial.fnl | 5 ---- mzte-nv/conf/lua/pluginconf/p-catppuccin.fnl | 4 ++-- mzte-nv/conf/lua/pluginconf/p-lightbulb.fnl | 23 ------------------- mzte-nv/conf/lua/pluginconf/p-line.fnl | 8 ++----- mzte-nv/conf/lua/pluginconf/p-lsp-saga.fnl | 24 ++++++++++++++++++++ mzte-nv/conf/lua/pluginconf/p-nullls.fnl | 6 +---- mzte-nv/conf/lua/plugins.fnl | 7 +++--- mzte-nv/src/modules/jdtls.zig | 10 ++++---- nix/cgnix/nvim-plugins.nix | 3 +-- 11 files changed, 42 insertions(+), 61 deletions(-) delete mode 100644 mzte-nv/conf/lua/pluginconf/p-aerial.fnl delete mode 100644 mzte-nv/conf/lua/pluginconf/p-lightbulb.fnl create mode 100644 mzte-nv/conf/lua/pluginconf/p-lsp-saga.fnl diff --git a/flake.lock b/flake.lock index 0cdcf2c..006bd3c 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1714076141, - "narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=", + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "type": "github" }, "original": { diff --git a/mzte-nv/conf/lua/maps.fnl b/mzte-nv/conf/lua/maps.fnl index 2a94005..36fe71b 100644 --- a/mzte-nv/conf/lua/maps.fnl +++ b/mzte-nv/conf/lua/maps.fnl @@ -23,14 +23,9 @@ (nmap : (cmd :cprevious)) ;; LSP -(nmap :-a vim.lsp.buf.code_action) -(nmap :-d vim.diagnostic.goto_next) -(nmap :-n vim.lsp.buf.rename) (nmap :-r #(vim.lsp.buf.format {:async true})) (nmap : vim.lsp.buf.signature_help) -(nmap :e vim.diagnostic.open_float) - -(nmap :K vim.lsp.buf.hover) +(vim.keymap.set :i : vim.lsp.buf.signature_help opts) ;; command to stop LSPs (vim.api.nvim_create_user_command :StopLsps diff --git a/mzte-nv/conf/lua/pluginconf/p-aerial.fnl b/mzte-nv/conf/lua/pluginconf/p-aerial.fnl deleted file mode 100644 index ca77609..0000000 --- a/mzte-nv/conf/lua/pluginconf/p-aerial.fnl +++ /dev/null @@ -1,5 +0,0 @@ -(local aerial (require :aerial)) - -(aerial.setup {:backends [:lsp :treesitter :markdown :man]}) - -(vim.keymap.set :n :-o #(aerial.toggle) (. (require :mzte_nv) :utils :map_opt)) diff --git a/mzte-nv/conf/lua/pluginconf/p-catppuccin.fnl b/mzte-nv/conf/lua/pluginconf/p-catppuccin.fnl index 1c04bd8..01c4617 100644 --- a/mzte-nv/conf/lua/pluginconf/p-catppuccin.fnl +++ b/mzte-nv/conf/lua/pluginconf/p-catppuccin.fnl @@ -9,12 +9,12 @@ :dim_inactive {:enabled true} ;; Enable all relevant integrations :default_integrations false - :integrations {:aerial true - :cmp true + :integrations {:cmp true :dap true :dap_ui true :gitsigns true :harpoon true + :lsp_saga true :markdown true :native_lsp {:enabled true :virtual_text (collect [_ diag (ipairs [:errors diff --git a/mzte-nv/conf/lua/pluginconf/p-lightbulb.fnl b/mzte-nv/conf/lua/pluginconf/p-lightbulb.fnl deleted file mode 100644 index e135784..0000000 --- a/mzte-nv/conf/lua/pluginconf/p-lightbulb.fnl +++ /dev/null @@ -1,23 +0,0 @@ -(local lightbulb (require :nvim-lightbulb)) - -(local ignored-clients [:null-ls]) - -(lightbulb.setup {:ignore {:clients ignored-clients} - ;; No gutter sign - :sign {:enabled false} - ;; Status bar text - :status_text {:enabled true :text "󱐌"}}) - -;; Create update autocmd on LSP attach -(fn on-lsp-attach [args] - (let [buf args.buf - client (vim.lsp.get_client_by_id args.data.client_id)] - (when (and client.server_capabilities.codeActionProvider - (not vim.b.mzte_reg_lighbulb_aucmd) - (not (vim.list_contains ignored-clients client.name))) - (set vim.b.mzte_reg_lighbulb_aucmd true) - (vim.api.nvim_create_autocmd :CursorHold - {:buffer buf - :callback lightbulb.update_lightbulb})))) - -(vim.api.nvim_create_autocmd :LspAttach {:callback on-lsp-attach}) diff --git a/mzte-nv/conf/lua/pluginconf/p-line.fnl b/mzte-nv/conf/lua/pluginconf/p-line.fnl index ee4f195..e5359ec 100644 --- a/mzte-nv/conf/lua/pluginconf/p-line.fnl +++ b/mzte-nv/conf/lua/pluginconf/p-line.fnl @@ -1,6 +1,5 @@ -(local (mztenv lline lightbulb lspprogress) - (values (require :mzte_nv) (require :lualine) (require :nvim-lightbulb) - (require :lsp-progress))) +(local (mztenv lline lspprogress) + (values (require :mzte_nv) (require :lualine) (require :lsp-progress))) (lline.setup {:options {:theme :catppuccin} :sections {:lualine_b [:filename :diff] @@ -9,9 +8,6 @@ ;; show file name :mode 1}] :lualine_c [#(or (. (lspprogress.progress) :msg) "")] - :lualine_x [:searchcount - {1 #(lightbulb.get_status_text) - :color {:fg mztenv.reg.catppuccin-palette.teal}}] :lualine_y [:branch]}}) (vim.api.nvim_create_autocmd :User diff --git a/mzte-nv/conf/lua/pluginconf/p-lsp-saga.fnl b/mzte-nv/conf/lua/pluginconf/p-lsp-saga.fnl new file mode 100644 index 0000000..3906893 --- /dev/null +++ b/mzte-nv/conf/lua/pluginconf/p-lsp-saga.fnl @@ -0,0 +1,24 @@ +(local lsps (require :lspsaga)) + +(local mztenv (require :mzte_nv)) +(local catppuccin (require :catppuccin.groups.integrations.lsp_saga)) + +(lsps.setup {:ui {:kind (catppuccin.custom_kind) :code_action "󱐌" :actionfix "󱐌"} + :lightbulb {:enable false} + :code_action {:show_server_name true :extend_gitsigns true}}) + +(local lsps-codeaction (require :lspsaga.codeaction)) +(local lsps-definition (require :lspsaga.definition)) +(local lsps-diagnostic (require :lspsaga.diagnostic)) +(local lsps-finder (require :lspsaga.finder)) +(local lsps-hover (require :lspsaga.hover)) +(local lsps-symbol (require :lspsaga.symbol)) +(local lsps-rename (require :lspsaga.rename)) + +(vim.keymap.set :n :-a #(lsps-codeaction:code_action) mztenv.utils.map_opt) +(vim.keymap.set :n : #(lsps-definition:init 1 1) mztenv.utils.map_opt) +(vim.keymap.set :n :-d #(lsps-diagnostic:goto_next) mztenv.utils.map_opt) +(vim.keymap.set :n : #(lsps-finder:new []) mztenv.utils.map_opt) +(vim.keymap.set :n :K #(lsps-hover:render_hover_doc []) mztenv.utils.map_opt) +(vim.keymap.set :n :-o #(lsps-symbol:outline) mztenv.utils.map_opt) +(vim.keymap.set :n :-n #(lsps-rename:lsp_rename []) mztenv.utils.map_opt) diff --git a/mzte-nv/conf/lua/pluginconf/p-nullls.fnl b/mzte-nv/conf/lua/pluginconf/p-nullls.fnl index 4870fdd..3658287 100644 --- a/mzte-nv/conf/lua/pluginconf/p-nullls.fnl +++ b/mzte-nv/conf/lua/pluginconf/p-nullls.fnl @@ -3,14 +3,10 @@ (macro src [categ name] `(. nullls :builtins ,categ ,name)) -(nullls.setup {:sources [(src :code_actions :gitsigns) - (src :code_actions :shellcheck) +(nullls.setup {:sources [(src :code_actions :shellcheck) (src :diagnostics :fish) (src :diagnostics :shellcheck) (src :diagnostics :tidy) - ;; a shitty python formatter - ;; TODO: remove once done with involuntary python classes - (src :formatting :black) (src :formatting :clang_format) (src :formatting :fish_indent) (src :formatting :fnlfmt) diff --git a/mzte-nv/conf/lua/plugins.fnl b/mzte-nv/conf/lua/plugins.fnl index 166a52d..a838609 100644 --- a/mzte-nv/conf/lua/plugins.fnl +++ b/mzte-nv/conf/lua/plugins.fnl @@ -11,11 +11,12 @@ (local startup-plugins []) ;; Plugins to load in the background -(local deferred-plugins [:lspconf +(local deferred-plugins [:catppuccin + :lspconf + :lsp-saga :cmp :luasnip :nullls - :catppuccin :lspprogress :line :treesitter @@ -27,12 +28,10 @@ :tterm :ts-context :ufo - :aerial :dap :harpoon :recorder :tsn-actions - :lightbulb :dressing :gitsigns]) diff --git a/mzte-nv/src/modules/jdtls.zig b/mzte-nv/src/modules/jdtls.zig index 8f1a45e..e6ec06e 100644 --- a/mzte-nv/src/modules/jdtls.zig +++ b/mzte-nv/src/modules/jdtls.zig @@ -118,15 +118,15 @@ fn lGetBundleInfo(l: *c.lua_State) !c_int { // bundles c.lua_newtable(l); - var has_fernflower = false; + var has_cfr = false; var iter = dir.iterate(); var idx: c_int = 1; while (try iter.next()) |f| { if (f.kind != .file or !std.mem.endsWith(u8, f.name, ".jar")) continue; - if (!has_fernflower and std.mem.containsAtLeast(u8, f.name, 1, "fernflower")) - has_fernflower = true; + if (!has_cfr and std.mem.containsAtLeast(u8, f.name, 1, "cfr")) + has_cfr = true; const path = try std.fs.path.joinZ(std.heap.c_allocator, &.{ bundle_path, f.name }); defer std.heap.c_allocator.free(path); @@ -141,8 +141,8 @@ fn lGetBundleInfo(l: *c.lua_State) !c_int { // content_provider c.lua_newtable(l); - if (has_fernflower) { - c.lua_pushstring(l, "fernflower"); + if (has_cfr) { + c.lua_pushstring(l, "cfr"); c.lua_setfield(l, -2, "preferred"); } diff --git a/nix/cgnix/nvim-plugins.nix b/nix/cgnix/nvim-plugins.nix index 4898f07..65046a8 100644 --- a/nix/cgnix/nvim-plugins.nix +++ b/nix/cgnix/nvim-plugins.nix @@ -7,6 +7,7 @@ let "20-lspconfig" = plugin "nvim-lspconfig"; "20-nullls" = plugin "null-ls.nvim"; "20-jdtls" = plugin "nvim-jdtls"; + "20-lsp-saga" = plugin "lspsaga.nvim"; # CMP "45-cmp" = plugin "nvim-cmp"; @@ -44,12 +45,10 @@ let "50-toggleterm" = plugin "toggleterm.nvim"; "50-dressing" = plugin "dressing.nvim"; "50-ufo" = plugin "nvim-ufo"; - "50-aerial" = plugin "aerial.nvim"; "50-dap" = plugin "nvim-dap"; "50-dapui" = plugin "nvim-dap-ui"; "50-harpoon" = plugin "harpoon"; "50-recorder" = plugin "nvim-recorder"; - "50-lightbulb" = plugin "nvim-lightbulb"; "50-lsp-progress" = plugin "lsp-progress.nvim"; # Libraries