return { -- A collection of small QoL plugins for Neovim -- https://github.com/folke/snacks.nvim { 'folke/snacks.nvim', priority = 1000, lazy = false, opts = { bigfile = { enabled = true }, gitbrowse = { enabled = true }, notifier = { enabled = true, timeout = 3000, }, notify = { enabled = true }, quickfile = { enabled = true }, statuscolumn = { enabled = true, left = { 'mark', 'sign' }, -- priority of signs on the left (high to low) right = { 'fold', 'git' }, -- priority of signs on the right (high to low) folds = { open = true, -- show open fold icons git_hl = false, -- use Git Signs hl for fold icons }, git = { -- patterns to match Git signs patterns = { 'GitSign', 'MiniDiffSign' }, }, refresh = 50, -- refresh at most every 50ms }, words = { enabled = true }, styles = { notification = { wo = { wrap = true }, -- Wrap notifications }, }, }, }, -- 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 { 'folke/trouble.nvim', lazy = false, cmd = 'Trouble', dependencies = { 'nvim-tree/nvim-web-devicons' }, opts = { auto_preview = true, auto_fold = true, auto_close = true, use_lsp_diagnostic_signs = true, keys = { j = 'next', k = 'prev', }, modes = { diagnostics = { auto_open = true, }, test = { mode = 'diagnostics', preview = { type = 'split', relative = 'win', position = 'right', size = 0.3, }, }, 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, }, }, }, }, -- Navigate your code with search labels, enhanced -- character motions and Treesitter integration -- https://github.com/folke/flash.nvim { 'folke/flash.nvim', event = 'VeryLazy', opts = {}, keys = { { 'zk', mode = { 'n', 'x', 'o' }, function() require('flash').jump() end, desc = 'Flash', }, { 'Zk', mode = { 'n', 'x', 'o' }, function() require('flash').treesitter() end, desc = 'Flash Treesitter', }, { '', mode = { 'c' }, function() require('flash').toggle() end, desc = 'Toggle Flash Search', }, }, }, }