X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/556b2a0f56ba885fc466f33329647fcbb46d2920..dc281eb2fbfb115fb9844dd9719722efdf4ae3d7:/nvim/lua/plugins/editor.lua diff --git a/nvim/lua/plugins/editor.lua b/nvim/lua/plugins/editor.lua index 6aa3858..0b331bf 100644 --- a/nvim/lua/plugins/editor.lua +++ b/nvim/lua/plugins/editor.lua @@ -1,10 +1,89 @@ +---@type LazySpec return { { - "nvim-telescope/telescope.nvim", + "stevearc/oil.nvim", + opts = { + keymaps = { + ["g?"] = "actions.show_help", + [""] = "actions.select", + [""] = "actions.select_vsplit", + [""] = false, -- used to be actions.select_split + [""] = "actions.select_tab", + [""] = "actions.preview", + [""] = "actions.close", + [""] = false, -- used to be actions.refresh + ["-"] = "actions.parent", + ["_"] = "actions.open_cwd", + ["`"] = "actions.cd", + ["~"] = "actions.tcd", + ["gs"] = "actions.change_sort", + ["gx"] = "actions.open_external", + ["g."] = "actions.toggle_hidden", + ["g\\"] = "actions.toggle_trash", + }, + }, + dependencies = {"nvim-tree/nvim-web-devicons"}, + }, + { "folke/trouble.nvim", + cmd = { "Trouble" }, + opts = { + keys = { + [""] = "fold_toggle", + }, + modes = { + lsp = { + win = { position = "right" }, + }, + }, + }, + keys = { + { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)" }, + { "xX", "Trouble diagnostics toggle filter.buf=0", desc = "Buffer Diagnostics (Trouble)" }, + { "cs", "Trouble symbols toggle", desc = "Symbols (Trouble)" }, + { "cS", "Trouble lsp toggle", desc = "LSP references/definitions/... (Trouble)" }, + { "xL", "Trouble loclist toggle", desc = "Location List (Trouble)" }, + { "xQ", "Trouble qflist toggle", desc = "Quickfix List (Trouble)" }, + { + "[q", + function() + if require("trouble").is_open() then + require("trouble").prev({ skip_groups = true, jump = true }) + else + local ok, err = pcall(vim.cmd.cprev) + if not ok then + vim.notify(err, vim.log.levels.ERROR) + end + end + end, + desc = "Previous Trouble/Quickfix Item", + }, + { + "]q", + function() + if require("trouble").is_open() then + require("trouble").next({ skip_groups = true, jump = true }) + else + local ok, err = pcall(vim.cmd.cnext) + if not ok then + vim.notify(err, vim.log.levels.ERROR) + end + end + end, + desc = "Next Trouble/Quickfix Item", + }, + }, + }, + { "folke/todo-comments.nvim", + cmd = { "TodoTrouble", "TodoTelescope" }, + event = "LazyFile", + -- stylua: ignore keys = { - { "", false }, - { "gc", false }, - { "gs", false }, + { "]t", function() require("todo-comments").jump_next() end, desc = "Next Todo Comment" }, + { "[t", function() require("todo-comments").jump_prev() end, desc = "Previous Todo Comment" }, + { "xt", "Trouble todo toggle", desc = "Todo (Trouble)" }, + { "xT", "Trouble todo toggle filter = {tag = {TODO,FIX,FIXME}}", desc = "Todo/Fix/Fixme (Trouble)" }, + { "st", "TodoTelescope", desc = "Todo" }, + { "sT", "TodoTelescope keywords=TODO,FIX,FIXME", desc = "Todo/Fix/Fixme" }, }, }, }