]> git.rmz.io Git - dotfiles.git/blob - nvim/lua/plugins/editor.lua
0b331bff80551f1babcd51a0a744ebdb6b409188
[dotfiles.git] / nvim / lua / plugins / editor.lua
1 ---@type LazySpec
2 return {
3 {
4 "stevearc/oil.nvim",
5 opts = {
6 keymaps = {
7 ["g?"] = "actions.show_help",
8 ["<CR>"] = "actions.select",
9 ["<C-s>"] = "actions.select_vsplit",
10 ["<C-h>"] = false, -- used to be actions.select_split
11 ["<C-t>"] = "actions.select_tab",
12 ["<C-p>"] = "actions.preview",
13 ["<C-c>"] = "actions.close",
14 ["<C-l>"] = false, -- used to be actions.refresh
15 ["-"] = "actions.parent",
16 ["_"] = "actions.open_cwd",
17 ["`"] = "actions.cd",
18 ["~"] = "actions.tcd",
19 ["gs"] = "actions.change_sort",
20 ["gx"] = "actions.open_external",
21 ["g."] = "actions.toggle_hidden",
22 ["g\\"] = "actions.toggle_trash",
23 },
24 },
25 dependencies = {"nvim-tree/nvim-web-devicons"},
26 },
27 { "folke/trouble.nvim",
28 cmd = { "Trouble" },
29 opts = {
30 keys = {
31 ["<space><space>"] = "fold_toggle",
32 },
33 modes = {
34 lsp = {
35 win = { position = "right" },
36 },
37 },
38 },
39 keys = {
40 { "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
41 { "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
42 { "<leader>cs", "<cmd>Trouble symbols toggle<cr>", desc = "Symbols (Trouble)" },
43 { "<leader>cS", "<cmd>Trouble lsp toggle<cr>", desc = "LSP references/definitions/... (Trouble)" },
44 { "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
45 { "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
46 {
47 "[q",
48 function()
49 if require("trouble").is_open() then
50 require("trouble").prev({ skip_groups = true, jump = true })
51 else
52 local ok, err = pcall(vim.cmd.cprev)
53 if not ok then
54 vim.notify(err, vim.log.levels.ERROR)
55 end
56 end
57 end,
58 desc = "Previous Trouble/Quickfix Item",
59 },
60 {
61 "]q",
62 function()
63 if require("trouble").is_open() then
64 require("trouble").next({ skip_groups = true, jump = true })
65 else
66 local ok, err = pcall(vim.cmd.cnext)
67 if not ok then
68 vim.notify(err, vim.log.levels.ERROR)
69 end
70 end
71 end,
72 desc = "Next Trouble/Quickfix Item",
73 },
74 },
75 },
76 { "folke/todo-comments.nvim",
77 cmd = { "TodoTrouble", "TodoTelescope" },
78 event = "LazyFile",
79 -- stylua: ignore
80 keys = {
81 { "]t", function() require("todo-comments").jump_next() end, desc = "Next Todo Comment" },
82 { "[t", function() require("todo-comments").jump_prev() end, desc = "Previous Todo Comment" },
83 { "<leader>xt", "<cmd>Trouble todo toggle<cr>", desc = "Todo (Trouble)" },
84 { "<leader>xT", "<cmd>Trouble todo toggle filter = {tag = {TODO,FIX,FIXME}}<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
85 { "<leader>st", "<cmd>TodoTelescope<cr>", desc = "Todo" },
86 { "<leader>sT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme" },
87 },
88 },
89 }