From df51df316b4763235fc443ed64ecccd0dd7cf036 Mon Sep 17 00:00:00 2001 From: Markus Dieckmann Date: Sun, 18 Sep 2022 15:42:57 +0200 Subject: [PATCH] add trouble --- nvim/init.lua | 1 + nvim/lua/trouble_config.lua | 75 +++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 nvim/lua/trouble_config.lua diff --git a/nvim/init.lua b/nvim/init.lua index a3c1b5c..47bed69 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -16,3 +16,4 @@ require("null-ls_config") require("telescope_config") require("nvimtest_config") require("neotest_config") +require("trouble_config") diff --git a/nvim/lua/trouble_config.lua b/nvim/lua/trouble_config.lua new file mode 100644 index 0000000..17fb7d9 --- /dev/null +++ b/nvim/lua/trouble_config.lua @@ -0,0 +1,75 @@ +require('trouble').setup { + position = "bottom", -- position of the list can be: bottom, top, left, right + height = 10, -- 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" + 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 + -- map to {} to remove a mapping, for example: + -- close = {}, + close = "q", -- close the list + cancel = "", -- cancel the preview and get back to your last window / buffer / cursor + refresh = "r", -- manually refresh + jump = { "", "" }, -- 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 + toggle_preview = "P", -- toggle auto_preview + hover = "K", -- opens a small popup with the full multiline message + preview = "p", -- preview the diagnostic location + 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 + }, + indent_lines = true, -- add an indent guide below the fold icons + 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 + signs = { + -- icons / text used for a diagnostic + error = "", + warning = "", + hint = "", + information = "", + other = "﫠" + }, + use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client +} +vim.keymap.set("n", "t", "TroubleToggle", + { silent = true, noremap = true } +) +vim.keymap.set("n", "tw", "TroubleToggle workspace_diagnostics", + { silent = true, noremap = true } +) +vim.keymap.set("n", "td", "TroubleToggle document_diagnostics", + { silent = true, noremap = true } +) +vim.keymap.set("n", "tl", "TroubleToggle loclist", + { silent = true, noremap = true } +) +vim.keymap.set("n", "tq", "TroubleToggle quickfix", + { silent = true, noremap = true } +) + +local trouble = require("trouble.providers.telescope") + +local telescope = require("telescope") + +telescope.setup { + defaults = { + mappings = { + i = { [""] = trouble.open_with_trouble }, + n = { [""] = trouble.open_with_trouble }, + }, + }, +}