diff --git a/config/nvim/lua/plugins/folke.lua b/config/nvim/lua/plugins/folke.lua index 07d64e0..b24b9b0 100644 --- a/config/nvim/lua/plugins/folke.lua +++ b/config/nvim/lua/plugins/folke.lua @@ -8,11 +8,6 @@ return { opts = { bigfile = { enabled = true }, gitbrowse = { enabled = true }, - notifier = { - enabled = true, - timeout = 3000, - }, - notify = { enabled = true }, quickfile = { enabled = true }, statuscolumn = { enabled = true, @@ -36,6 +31,86 @@ return { }, }, }, + + -- Highly experimental plugin that completely + -- replaces the UI for messages, cmdline and the popupmenu. + -- https://github.com/folke/noice.nvim + { + 'folke/noice.nvim', + event = 'VeryLazy', + opts = { + lsp = { + -- override markdown rendering so that **cmp** and other plugins use **Treesitter** + override = { + ['vim.lsp.util.convert_input_to_markdown_lines'] = true, + ['vim.lsp.util.stylize_markdown'] = true, + ['cmp.entry.get_documentation'] = true, -- requires hrsh7th/nvim-cmp + }, + }, + -- you can enable a preset for easier configuration + presets = { + bottom_search = true, -- use a classic bottom cmdline for search + command_palette = true, -- position the cmdline and popupmenu together + long_message_to_split = true, -- long messages will be sent to a split + inc_rename = false, -- enables an input dialog for inc-rename.nvim + lsp_doc_border = false, -- add a border to hover docs and signature help + }, + routes = { + { + filter = { + event = 'msg_show', + kind = '', + find = 'written', + }, + opts = { skip = true }, + }, + { + filter = { + event = 'msg_show', + any = { + { find = '%d+L, %d+B' }, + { find = '; after #%d+' }, + { find = '; before #%d+' }, + { find = "' added to" }, + }, + }, + view = 'mini', + }, + { + filter = { + event = 'lsp', + kind = 'progress', + cond = function(message) + local client = vim.tbl_get(message.opts, 'progress', 'client') + return client == 'lua_ls' + end, + }, + opts = { skip = true }, + }, + }, + views = { + cmdline_popup = { + border = { + style = 'none', + padding = { 1, 2 }, + }, + filter_options = {}, + win_options = { + winhighlight = 'NormalFloat:NormalFloat,FloatBorder:FloatBorder', + }, + }, + }, + }, + dependencies = { + -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries + 'MunifTanjim/nui.nvim', + -- OPTIONAL: + -- `nvim-notify` is only needed, if you want to use the notification view. + -- If not available, we use `mini` as the fallback + 'rcarriga/nvim-notify', + }, + }, + -- A pretty diagnostics, references, telescope results, -- quickfix and location list to help you solve all the -- trouble your code is causing.