From 0eedf92c14d26d11873fb4611441750b92b61075 Mon Sep 17 00:00:00 2001 From: aleidk Date: Sat, 28 Oct 2023 13:09:43 -0300 Subject: [PATCH] Add minor adjustments to neovim config --- config/nvim/lazy-lock.json | 1 + config/nvim/lua/aleidk/plugins/bufferline.lua | 7 +++-- config/nvim/lua/aleidk/plugins/git.lua | 20 ++++++------ config/nvim/lua/aleidk/plugins/init.lua | 13 -------- config/nvim/lua/aleidk/plugins/lsp.lua | 31 ++++++++++++++----- config/nvim/lua/aleidk/plugins/luasnip.lua | 28 ++++++++--------- config/nvim/lua/aleidk/plugins/nvim-tree.lua | 5 +-- config/nvim/lua/aleidk/plugins/telescope.lua | 25 ++++++++++----- config/nvim/lua/aleidk/plugins/treesitter.lua | 1 + config/nvim/lua/aleidk/plugins/trouble.lua | 6 ++++ 10 files changed, 80 insertions(+), 57 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 58c1970..dd345f0 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -47,6 +47,7 @@ "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "pretty-fold.nvim": { "branch": "master", "commit": "a7d8b424abe0eedf50116c460fbe6dfd5783b1d5" }, "smart-splits.nvim": { "branch": "master", "commit": "c8a9173d70cbbd1f6e4a414e49e31df2b32a1362" }, + "telescope-file-browser.nvim": { "branch": "master", "commit": "6e51d0cd6447cf2525412220ff0a2885eef9039c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "7011eaae0ac1afe036e30c95cf80200b8dc3f21a" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, diff --git a/config/nvim/lua/aleidk/plugins/bufferline.lua b/config/nvim/lua/aleidk/plugins/bufferline.lua index e2bd729..9892958 100644 --- a/config/nvim/lua/aleidk/plugins/bufferline.lua +++ b/config/nvim/lua/aleidk/plugins/bufferline.lua @@ -3,7 +3,8 @@ return { event = "VeryLazy", keys = { { "bp", "BufferLineTogglePin", desc = "Toggle pin" }, - { "bP", "BufferLineGroupClose ungrouped", desc = "Delete non-pinned buffers" }, + { "bP", "BufferLineGroupClose ungrouped", desc = "Close non-pinned buffers" }, + { "bO", "BufferLineCloseOthers", desc = "Close non focused buffers" }, { "bh", "BufferLineMovePrev", desc = "Move buffer to right" }, { "bl", "BufferLineMoveNext", desc = "Move buffer to left" }, { "", "BufferLineCyclePrev", desc = "Prev buffer" }, @@ -14,8 +15,8 @@ return { "echasnovski/mini.bufremove", -- stylua: ignore keys = { - { "bd", function() require("mini.bufremove").delete(0, false) end, desc = "Delete Buffer" }, - { "bD", function() require("mini.bufremove").delete(0, true) end, desc = "Delete Buffer (Force)" }, + { "bc", function() require("mini.bufremove").delete(0, false) end, desc = "Close Buffer" }, + { "bC", function() require("mini.bufremove").delete(0, true) end, desc = "Close Buffer (Force)" }, }, }, }, diff --git a/config/nvim/lua/aleidk/plugins/git.lua b/config/nvim/lua/aleidk/plugins/git.lua index 415e6cf..f9cf817 100644 --- a/config/nvim/lua/aleidk/plugins/git.lua +++ b/config/nvim/lua/aleidk/plugins/git.lua @@ -19,16 +19,16 @@ return { vim.keymap.set(mode, "g" .. l, r, { buffer = buffer, desc = desc }) end - -- stylua: ignore start - map("n", "j", gs.next_hunk, "Next Hunk") - map("n", "k", gs.prev_hunk, "Prev Hunk") - map({ "n", "v" }, "s", ":Gitsigns stage_hunk", "Stage Hunk") - map({ "n", "v" }, "r", ":Gitsigns reset_hunk", "Reset Hunk") - map("n", "u", gs.undo_stage_hunk, "Undo Stage Hunk") - map("n", "R", gs.reset_buffer, "Reset Buffer") - map("n", "p", gs.preview_hunk, "Preview Hunk") - map("n", "l", function() gs.blame_line() end, "Blame Line") - map("n", "d", gs.diffthis, "Diff This") + -- stylua: ignore start + map("n", "j", gs.next_hunk, "Next Hunk") + map("n", "k", gs.prev_hunk, "Prev Hunk") + map({ "n", "v" }, "s", ":Gitsigns stage_hunk", "Stage Hunk") + map({ "n", "v" }, "r", ":Gitsigns reset_hunk", "Reset Hunk") + map("n", "u", gs.undo_stage_hunk, "Undo Stage Hunk") + map("n", "R", gs.reset_buffer, "Reset Buffer") + map("n", "p", gs.preview_hunk, "Preview Hunk") + map("n", "l", function() gs.blame_line() end, "Blame Line") + map("n", "d", gs.diffthis, "Diff This") end, }, }, diff --git a/config/nvim/lua/aleidk/plugins/init.lua b/config/nvim/lua/aleidk/plugins/init.lua index 867e3a1..92285e9 100644 --- a/config/nvim/lua/aleidk/plugins/init.lua +++ b/config/nvim/lua/aleidk/plugins/init.lua @@ -10,19 +10,6 @@ return { dependencies = { "hrsh7th/cmp-nvim-lsp", "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip" }, }, - { - "famiu/bufdelete.nvim", - config = nil, - keys = { - { - "bc", - function() - require("bufdelete").bufdelete(0, true) - end, - desc = "Close buffer", - }, - }, - }, { "RRethy/vim-illuminate", event = { "BufReadPost", "BufNewFile" }, diff --git a/config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins/lsp.lua index 38aeb4e..c5cb752 100644 --- a/config/nvim/lua/aleidk/plugins/lsp.lua +++ b/config/nvim/lua/aleidk/plugins/lsp.lua @@ -36,11 +36,6 @@ return { -- Lesser used LSP functionality nmap("gD", vim.lsp.buf.declaration, "Goto Declaration") - nmap("wa", vim.lsp.buf.add_workspace_folder, "Workspace Add Folder") - nmap("wr", vim.lsp.buf.remove_workspace_folder, "Workspace Remove Folder") - nmap("wl", function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, "Workspace List Folders") nmap("lj", vim.diagnostic.goto_next, "Go to next diagnostic") nmap("lk", vim.diagnostic.goto_prev, "Go to prev diagnostic") @@ -52,6 +47,7 @@ return { end -- Enable the following language servers + -- To see options and cofigurations: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md local servers = { bashls = {}, cssls = {}, @@ -70,10 +66,22 @@ return { }, yamlls = {}, lua_ls = { - settigns = { + settings = { Lua = { - workspace = { checkThirdParty = false }, - telemetry = { enable = false }, + runtime = { + -- Tell the language server which version of Lua you're using + -- (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + -- Make the server aware of Neovim runtime files + workspace = { + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME, + -- "${3rd}/luv/library" + -- "${3rd}/busted/library", + }, + }, }, }, }, @@ -128,5 +136,12 @@ return { -- }, severity_sort = true, }) + + -- Customize gutter icons + local signs = require("aleidk.constants").icons.diagnostics + for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) + end end, } diff --git a/config/nvim/lua/aleidk/plugins/luasnip.lua b/config/nvim/lua/aleidk/plugins/luasnip.lua index bf6d8ef..5f4e132 100644 --- a/config/nvim/lua/aleidk/plugins/luasnip.lua +++ b/config/nvim/lua/aleidk/plugins/luasnip.lua @@ -10,18 +10,18 @@ return { history = true, delete_check_events = "TextChanged", }, - -- stylua: ignore - keys = { - { - "", - function() - return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" - end, - expr = true, - silent = true, - mode = "i", - }, - { "", function() require("luasnip").jump(1) end, mode = "s" }, - { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, - }, + -- stylua: ignore + keys = { + { + "", + function() + return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" + end, + expr = true, + silent = true, + mode = "i", + }, + { "", function() require("luasnip").jump(1) end, mode = "s" }, + { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, + }, } diff --git a/config/nvim/lua/aleidk/plugins/nvim-tree.lua b/config/nvim/lua/aleidk/plugins/nvim-tree.lua index a9118ae..42df21b 100644 --- a/config/nvim/lua/aleidk/plugins/nvim-tree.lua +++ b/config/nvim/lua/aleidk/plugins/nvim-tree.lua @@ -13,7 +13,7 @@ return { tree.setup({ hijack_unnamed_buffer_when_opening = true, disable_netrw = true, - hijack_netrw = true, + hijack_netrw = false, -- handle by telescope browser hijack_cursor = true, -- cursor at the start of filename sync_root_with_cwd = true, respect_buf_cwd = true, @@ -31,7 +31,7 @@ return { }, view = { centralize_selection = true, -- center current file on enter - width = 30, -- N° of columns or % + width = 30, -- N° of columns or % }, on_attach = function(bufnr) local function opts(desc) @@ -79,6 +79,7 @@ return { end vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree }) + vim.api.nvim_create_user_command("Tree", "NvimTreeToggle", {}) -- bindings -- disabled to discourage the use of this plugin without disabling it diff --git a/config/nvim/lua/aleidk/plugins/telescope.lua b/config/nvim/lua/aleidk/plugins/telescope.lua index 5495a8d..21ba654 100644 --- a/config/nvim/lua/aleidk/plugins/telescope.lua +++ b/config/nvim/lua/aleidk/plugins/telescope.lua @@ -13,6 +13,9 @@ return { return vim.fn.executable("make") == 1 end, }, + { + "nvim-telescope/telescope-file-browser.nvim", + }, }, config = function() local actions = require("telescope.actions") @@ -50,8 +53,15 @@ return { -- Enable telescope fzf native, if installed pcall(telescope.load_extension, "fzf") + pcall(telescope.load_extension, "file_browser") -- Find files + vim.keymap.set( + "n", + "fe", + ":Telescope file_browser path=%:p:h select_buffer=true", + { desc = "File Explorer" } + ) vim.keymap.set("n", "fb", builtin.buffers, { desc = "Find buffers" }) vim.keymap.set("n", "ff", builtin.find_files, { desc = "Find files" }) vim.keymap.set("n", "fF", function() @@ -69,12 +79,13 @@ return { vim.keymap.set("n", "fk", builtin.keymaps, { desc = "[F]ind [K]eymaps" }) -- Diagnosticos - vim.keymap.set("n", "fd", function() - builtin.diagnostics({ bufnr = 0 }) - end, { desc = "Find diagnostics" }) - vim.keymap.set("n", "fD", function() - builtin.diagnostics({ bufnr = nil }) - end, { desc = "Find diagnostics in workspace" }) - vim.keymap.set("n", "fz", builtin.spell_suggest, { desc = "Find spell suggestion" }) + -- Disabled, handle by trouble + -- vim.keymap.set("n", "fD", function() + -- builtin.diagnostics({ bufnr = 0 }) + -- end, { desc = "Find diagnostics (Telescope)" }) + -- vim.keymap.set("n", "fD", function() + -- builtin.diagnostics({ bufnr = nil }) + -- end, { desc = "Find diagnostics in workspace (Telescope)" }) + -- vim.keymap.set("n", "fz", builtin.spell_suggest, { desc = "Find spell suggestion" }) end, } diff --git a/config/nvim/lua/aleidk/plugins/treesitter.lua b/config/nvim/lua/aleidk/plugins/treesitter.lua index 028073b..47f6163 100644 --- a/config/nvim/lua/aleidk/plugins/treesitter.lua +++ b/config/nvim/lua/aleidk/plugins/treesitter.lua @@ -8,6 +8,7 @@ return { }, build = ":TSUpdate", config = function() + ---@diagnostic disable-next-line: missing-fields require("nvim-treesitter.configs").setup({ -- Add languages to be installed here that you want installed for treesitter ensure_installed = { diff --git a/config/nvim/lua/aleidk/plugins/trouble.lua b/config/nvim/lua/aleidk/plugins/trouble.lua index 58244df..86b58a9 100644 --- a/config/nvim/lua/aleidk/plugins/trouble.lua +++ b/config/nvim/lua/aleidk/plugins/trouble.lua @@ -4,6 +4,12 @@ return { cmd = { "TroubleToggle", "Trouble" }, keys = { { "fq", "TroubleToggle", desc = "Toggle trouble" }, + { "fd", "TroubleToggle workspace_diagnostics", desc = "Find diagnostics" }, + { + "fD", + "TroubleToggle document_diagnostics", + desc = "Find diagnostics in workspace", + }, }, config = function() require("trouble").setup({