mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-26 03:04:06 +00:00
158 lines
4.3 KiB
Lua
158 lines
4.3 KiB
Lua
return {
|
|
-- Highly experimental plugin that completely
|
|
-- replaces the UI for messages, cmdline and the popupmenu.
|
|
-- https://github.com/folke/noice.nvim
|
|
{
|
|
---@module 'noice'
|
|
'folke/noice.nvim',
|
|
event = 'VeryLazy',
|
|
dependencies = {
|
|
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
|
'MunifTanjim/nui.nvim',
|
|
{
|
|
'rcarriga/nvim-notify',
|
|
opts = { background_colour = '#000000' },
|
|
},
|
|
},
|
|
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 = {
|
|
{
|
|
view = 'notify',
|
|
filter = { event = 'msg_showmode' },
|
|
},
|
|
{
|
|
filter = {
|
|
event = 'msg_show',
|
|
kind = '',
|
|
any = {
|
|
{ find = 'written' },
|
|
{ find = '%d of %d --%d%--' },
|
|
},
|
|
},
|
|
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 = {
|
|
position = {
|
|
row = 5,
|
|
col = '50%',
|
|
},
|
|
size = {
|
|
width = 60,
|
|
height = 'auto',
|
|
},
|
|
},
|
|
popupmenu = {
|
|
relative = 'editor',
|
|
position = {
|
|
row = 8,
|
|
col = '50%',
|
|
},
|
|
size = {
|
|
width = 60,
|
|
height = 10,
|
|
},
|
|
border = {
|
|
style = 'rounded',
|
|
padding = { 0, 1 },
|
|
},
|
|
win_options = {
|
|
winhighlight = { Normal = 'Normal', FloatBorder = 'DiagnosticInfo' },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
-- A pretty diagnostics, references, telescope results,
|
|
-- quickfix and location list to help you solve all the
|
|
-- trouble your code is causing.
|
|
-- https://github.com/folke/trouble.nvim
|
|
{
|
|
---@module 'trouble'
|
|
'folke/trouble.nvim',
|
|
lazy = false,
|
|
cmd = 'Trouble',
|
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
|
---@type trouble.Config
|
|
opts = {
|
|
auto_preview = true,
|
|
auto_fold = true,
|
|
auto_close = true,
|
|
use_lsp_diagnostic_signs = true,
|
|
keys = {
|
|
j = 'next',
|
|
k = 'prev',
|
|
},
|
|
modes = {
|
|
diagnostics = {
|
|
auto_open = false,
|
|
},
|
|
test = {
|
|
mode = 'diagnostics',
|
|
preview = {
|
|
type = 'split',
|
|
relative = 'win',
|
|
position = 'right',
|
|
size = 0.25,
|
|
},
|
|
},
|
|
cascade = {
|
|
mode = 'diagnostics', -- inherit from diagnostics mode
|
|
filter = function(items)
|
|
local severity = vim.diagnostic.severity.HINT
|
|
for _, item in ipairs(items) do
|
|
severity = math.min(severity, item.severity)
|
|
end
|
|
return vim.tbl_filter(
|
|
function(item) return item.severity == severity end,
|
|
items
|
|
)
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|