diff --git a/init.lua b/init.lua index 5ad5320e..af4312bc 100644 --- a/init.lua +++ b/init.lua @@ -83,7 +83,8 @@ I hope you enjoy your Neovim journey, P.S. You can delete this when you're done too. It's your config now! :) --]] - +-- +local vim = vim -- Set as the leader key -- See `:help mapleader` -- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used) @@ -1030,6 +1031,7 @@ require('lazy').setup({ start = '🚀', task = '📌', lazy = '💤 ', + git = 'g', }, }, }) diff --git a/lua/custom/plugins/trouble.lua b/lua/custom/plugins/trouble.lua index a8b379c0..aa5b6034 100644 --- a/lua/custom/plugins/trouble.lua +++ b/lua/custom/plugins/trouble.lua @@ -2,86 +2,92 @@ -- https://github.com/folke/trouble.nvim return { - "folke/trouble.nvim", - dependencies = { "nvim-tree/nvim-web-devicons" }, - event = { "BufReadPost", "BufNewFile" }, - cmd = { "TroubleToggle", "Trouble" }, + 'folke/trouble.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + event = { 'BufReadPost', 'BufNewFile' }, + cmd = { 'TroubleToggle', 'Trouble' }, opts = { - position = "bottom", -- position of the list can be: bottom, top, left, right + position = 'bottom', -- position of the list can be: bottom, top, left, right height = 12, -- height of the trouble list when position is top or bottom width = 50, -- width of the list when position is left or right - icons = true, -- use devicons for filenames - mode = "workspace_diagnostics", -- "workspace_diagnostics", "document_diagnostics", "quickfix", "lsp_references", "loclist" + icons = { + indent = { + top = "│ ", + middle = "├╴", + last = "└╴", + fold_open = " ", + fold_closed = " ", + ws = " ", + }, + folder_closed = " ", + folder_open = " ", + }, + mode = 'workspace_diagnostics', -- "workspace_diagnostics", "document_diagnostics", "quickfix", "lsp_references", "loclist" severity = nil, -- nil (ALL) or vim.diagnostic.severity.ERROR | WARN | INFO | HINT - fold_open = "", -- icon used for open folds - fold_closed = "", -- icon used for closed folds group = true, -- group results by file padding = true, -- add an extra new line on top of the list action_keys = { -- key mappings for actions in the trouble list - close = "q", -- close the list - cancel = "", -- cancel the preview and get back to your last window / buffer / cursor - refresh = "r", -- manually refresh - jump = { "", "", "<2-leftmouse>" }, -- jump to the diagnostic or open / close folds - open_split = { "" }, -- open buffer in new split - open_vsplit = { "" }, -- open buffer in new vsplit - open_tab = { "" }, -- open buffer in new tab - jump_close = {"o"}, -- jump to the diagnostic and close the list - toggle_mode = "m", -- toggle between "workspace" and "document" diagnostics mode - switch_severity = "s", -- switch "diagnostics" severity filter - toggle_preview = "P", -- toggle auto_preview - hover = "K", -- opens a small popup with the full multiline message - preview = "p", -- preview the diagnostic location - open_code_href = "c", -- if present, open a URI with more information about the diagnostic error - close_folds = {"zM", "zm"}, -- close all folds - open_folds = {"zR", "zr"}, -- open all folds - toggle_fold = {"zA", "za"}, -- toggle fold of current file - previous = "k", -- previous item - next = "j", -- next item - help = "?" -- help menu + close = 'q', -- close the list + cancel = '', -- cancel the preview and get back to your last window / buffer / cursor + refresh = 'r', -- manually refresh + jump = { '', '', '<2-leftmouse>' }, -- jump to the diagnostic or open / close folds + open_split = { '' }, -- open buffer in new split + open_vsplit = { '' }, -- open buffer in new vsplit + open_tab = { '' }, -- open buffer in new tab + jump_close = { 'o' }, -- jump to the diagnostic and close the list + toggle_mode = 'm', -- toggle between "workspace" and "document" diagnostics mode + switch_severity = 's', -- switch "diagnostics" severity filter + toggle_preview = 'P', -- toggle auto_preview + hover = 'K', -- opens a small popup with the full multiline message + preview = 'p', -- preview the diagnostic location + open_code_href = 'c', -- if present, open a URI with more information about the diagnostic error + close_folds = { 'zM', 'zm' }, -- close all folds + open_folds = { 'zR', 'zr' }, -- open all folds + toggle_fold = { 'zA', 'za' }, -- toggle fold of current file + previous = 'k', -- previous item + next = 'j', -- next item + help = '?', -- help menu }, multiline = true, -- render multi-line messages indent_lines = true, -- add an indent guide below the fold icons - win_config = { border = "rounded" }, -- window configuration for floating windows + win_config = { border = 'rounded' }, -- window configuration for floating windows auto_open = false, -- automatically open the list when you have diagnostics auto_close = false, -- automatically close the list when you have no diagnostics auto_preview = true, -- automatically preview the location of the diagnostic. to close preview and go back to last window auto_fold = false, -- automatically fold a file trouble list at creation - auto_jump = {"lsp_definitions"}, -- for the given modes, automatically jump if there is only a single result + auto_jump = { 'lsp_definitions' }, -- for the given modes, automatically jump if there is only a single result signs = { -- icons / text used for a diagnostic - error = "", - warning = "", - hint = "", - information = "", - other = "", + error = '', + warning = '', + hint = '', + information = '', + other = '', }, - use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client + use_diagnostic_signs = false, -- enabling this will use the signs defined in your lsp client }, keys = { - { "xx", "TroubleToggle document_diagnostics", desc = "Document Diagnostics (Trouble)" }, - { "xX", "TroubleToggle workspace_diagnostics", desc = "Workspace Diagnostics (Trouble)" }, - { "xL", "TroubleToggle loclist", desc = "Location List (Trouble)" }, - { "xQ", "TroubleToggle quickfix", desc = "Quickfix List (Trouble)" }, - { "gR", "TroubleToggle lsp_references", desc = "LSP References (Trouble)" }, - { "gD", "TroubleToggle lsp_definitions", desc = "LSP Definitions (Trouble)" }, - { "xT", "TodoTrouble", desc = "TODOs (Trouble)", cond = function() return require("lazy.core.config").spec.plugins["todo-comments"] ~= nil end }, + { 'xx', 'TroubleToggle document_diagnostics', desc = 'Document Diagnostics (Trouble)' }, + { 'xX', 'TroubleToggle workspace_diagnostics', desc = 'Workspace Diagnostics (Trouble)' }, + { 'xL', 'TroubleToggle loclist', desc = 'Location List (Trouble)' }, + { 'xQ', 'TroubleToggle quickfix', desc = 'Quickfix List (Trouble)' }, + { 'gR', 'TroubleToggle lsp_references', desc = 'LSP References (Trouble)' }, + { 'gD', 'TroubleToggle lsp_definitions', desc = 'LSP Definitions (Trouble)' }, + { 'xT', 'TodoTrouble', desc = 'TODOs (Trouble)' }, }, config = function(_, opts) - require("trouble").setup(opts) - + require('trouble').setup(opts) -- Add which-key group - local ok, which_key = pcall(require, "which-key") - if ok then - which_key.register({ - ["x"] = { - name = "Trouble/Diagnostics", - x = { "TroubleToggle document_diagnostics", "Document Diagnostics" }, - X = { "TroubleToggle workspace_diagnostics", "Workspace Diagnostics" }, - L = { "TroubleToggle loclist", "Location List" }, - Q = { "TroubleToggle quickfix", "Quickfix List" }, - T = { "TodoTrouble", "TODOs" }, - }, - }) - end + -- local ok, which_key = pcall(require, 'which-key') + -- if ok then + -- -- Use standard which-key format that's known to work + -- which_key.register({ + -- ["x"] = { name = "Trouble/Diagnostics" }, + -- }) + + -- which_key.register({ + -- ["g"] = { name = "Goto" }, + -- }) + -- end end, }