return { { 'echasnovski/mini.files', version = false, keys = { { '-', "lua require('mini.files').open(vim.api.nvim_buf_get_name(0))", { silent = true } }, }, }, { 'nvim-neo-tree/neo-tree.nvim', keys = { { 'ee', ':Neotree toggle float', silent = true, desc = 'Float File Explorer' }, { '', ':Neotree toggle left', silent = true, desc = ' Left File Explorer' }, }, cmd = { 'Neotree' }, opts = { filesystem = { filtered_items = { visible = true, show_hidden_count = true, hide_dotfiles = false, hide_gitignored = true, hide_by_name = { '.git', '.DS_Store', 'thumbs.db', '.venv', }, never_show = {}, }, }, window = { position = 'right', width = 35, }, }, }, { 'folke/flash.nvim', event = 'VeryLazy', opts = { modes = { char = { jump_labels = true, }, }, }, -- stylua: ignore keys = { { 'jN', "lua require('flash').jump({search = { forward = false, wrap = false, multi_window = false },})", mode = { "n", "v" }, desc = 'Search Backward', }, { 'jc', '*', desc = 'Word' }, { 'jd', 'FlashDiagnostics', mode = { "n", "v" }, desc = 'Diagnostics' }, { 'jf', 'Telescope jumplist', desc = 'Jumplist' }, { 'jh', '', desc = 'Backward' }, { 'jj', "lua require('flash').remote()", mode = { "n", "v" }, desc = 'Remote' }, { 'jk', "lua require('flash').treesitter()", mode = { "n", "v" }, desc = 'Treesitter' }, { 'jl', '', desc = 'Forward' }, { 'jn', "lua require('flash').jump({search = { forward = true, wrap = false, multi_window = false },})", mode = { "n", "v" }, desc = 'Search Forward', }, { 'jp', "lua require('flash').jump({continue = true})", mode = { "n", "v" }, desc = 'Previous Jump' }, { 'js', "lua require('flash').jump()", mode = { "n", "v" }, desc = 'Search' }, { 'jt', "lua require('flash').treesitter_search()", mode = { "n", "v" }, desc = 'Remote Treesitter' }, { 'jw', 'lua require("flash").jump({ pattern = vim.fn.expand("")})', mode = { "n", "v" }, desc = 'Current Word', }, }, }, { 'folke/trouble.nvim', lazy = true, cmd = { 'Trouble', 'TroubleToggle', 'TroubleRefresh' }, opts = { modes = { lsp = { win = { position = 'right' }, }, }, }, keys = { { 'xx', 'Trouble diagnostics toggle', desc = 'Diagnostics (Trouble)' }, { 'xX', 'Trouble diagnostics toggle filter.buf=0', desc = 'Buffer Diagnostics (Trouble)' }, { 'xs', 'Trouble symbols toggle', desc = 'Symbols (Trouble)' }, { 'xS', 'Trouble lsp toggle', desc = 'LSP references/definitions/... (Trouble)' }, { 'xL', 'Trouble loclist toggle', desc = 'Location List (Trouble)' }, { 'xQ', 'Trouble qflist toggle', desc = 'Quickfix List (Trouble)' }, { '[q', function() if require('trouble').is_open() then require('trouble').prev({ skip_groups = true, jump = true }) else local ok, err = pcall(vim.cmd.cprev) if not ok then vim.notify(err, vim.log.levels.ERROR) end end end, desc = 'Previous Trouble/Quickfix Item', }, { ']q', function() if require('trouble').is_open() then require('trouble').next({ skip_groups = true, jump = true }) else local ok, err = pcall(vim.cmd.cnext) if not ok then vim.notify(err, vim.log.levels.ERROR) end end end, desc = 'Next Trouble/Quickfix Item', }, }, }, { 'nvim-telescope/telescope.nvim', cmd = 'Telescope', version = false, lazy = true, dependencies = { { 'nvim-tree/nvim-web-devicons' }, { 'nvim-telescope/telescope-fzf-native.nvim', build = 'zig' }, { 'nvim-telescope/telescope-ui-select.nvim' }, { 'nvim-telescope/telescope-symbols.nvim' }, { 'nvim-telescope/telescope-file-browser.nvim' }, { 'debugloop/telescope-undo.nvim' }, }, keys = { { 'ff', 'Telescope find_files', desc = 'Find Files (CWD)' }, { 'fg', 'Telescope live_grep', desc = 'Live Grep' }, { 'fb', 'Telescope buffers', desc = 'Buffers' }, { 'fh', 'Telescope help_tags', desc = 'Find Help' }, { 'fo', 'Telescope oldfiles', desc = 'Old Recent Files' }, { 'fm', 'Telescope marks', desc = 'Marks' }, { 'fH', 'Telescope highlights', desc = 'Find Highlight Groups' }, { 'fG', 'Telescope grep_string', desc = 'Grep String' }, { 'kk', 'Telescope keymaps', desc = 'Keymaps' }, { 'kc', 'Telescope commands', desc = 'Commands' }, { 'kh', 'Telescope command_history', desc = 'Command History' }, { 'ks', 'Telescope search_history', desc = 'Search History' }, { 'fd', 'Telescope diagnostics', desc = 'Diagnostics' }, { 'ef', 'Telescope file_browser', desc = 'File Browser' }, { 'cr', 'Telescope reloader', desc = 'Reload Module' }, { 'cn', 'Telescope notify', desc = 'Notifications' }, { 'fu', 'Telescope undo', desc = 'Undo History' }, { 'fb', 'Telescope buffers', desc = 'Buffers' }, { 'fq', 'Telescope quickfix', desc = 'Quickfix' }, { 'fs', 'Telescope current_buffer_fuzzy_find', desc = 'Fuzzy Find in File' }, }, config = function() require('configs.telescope') end, }, { 'smjonas/inc-rename.nvim', cmd = 'IncRename', config = true, }, { 'akinsho/toggleterm.nvim', cmd = { 'ToggleTerm' }, version = 'v2.*', keys = { { 't1', '1ToggleTerm', desc = 'Toggle Terminal', mode = 'n' }, { 't2', '2ToggleTerm', desc = 'Toggle Terminal', mode = 'n' }, }, config = function() require('configs.toggleterm') end, }, { '2kabhishek/termim.nvim', cmd = { 'Fterm', 'FTerm', 'Sterm', 'STerm', 'Vterm', 'VTerm' }, keys = { { 'th', 'Sterm', desc = 'Horizontal Terminal' }, { 'tv', 'Vterm', desc = 'Vertical Terminal' }, }, }, { 'nvimdev/lspsaga.nvim', lazy = true, event = 'LspAttach', config = function() vim.keymap.set( 'n', 'lo', 'Lspsaga outline', { desc = 'Lspsaga | Code Outline', silent = true } ) require('lspsaga').setup({ ui = { theme = 'round', border = 'rounded', winblend = 0, expand = '', collaspe = '', preview = ' ', code_action = '󱧣 ', diagnostic = ' ', hover = ' ', kind = {}, }, lightbulb = { enable = false, enable_in_insert = true, sign = true, sign_priority = 40, virtual_text = true, }, symbol_in_winbar = { enable = false, separator = '  ', hide_keyword = true, show_file = true, folder_level = 0, }, }) end, }, { 'HiPhish/rainbow-delimiters.nvim', event = { 'BufReadPost', 'BufNewFile' }, config = function() local rainbow_delimiters = require('rainbow-delimiters') require('rainbow-delimiters.setup').setup({ { strategy = { [''] = rainbow_delimiters.strategy['global'], vim = rainbow_delimiters.strategy['local'], }, query = { [''] = 'rainbow-delimiters', lua = 'rainbow-blocks', }, priority = { [''] = 110, lua = 210, }, highlight = { 'RainbowDelimiterRed', 'RainbowDelimiterYellow', 'RainbowDelimiterBlue', 'RainbowDelimiterOrange', 'RainbowDelimiterGreen', 'RainbowDelimiterViolet', 'RainbowDelimiterCyan', }, }, }) end, }, { '2kabhishek/tdo.nvim', dependencies = 'nvim-telescope/telescope.nvim', cmd = { 'Tdo', 'TdoEntry', 'TdoNote', 'TdoTodos', 'TdoToggle', 'TdoFind', 'TdoFiles' }, keys = { { 'nd', 'Tdo', desc = "Today's Todo" }, { 'ne', 'TdoEntry', desc = "Today's Entry" }, { 'nf', 'TdoFiles', desc = 'All Notes' }, { 'ng', 'TdoFind', desc = 'Find Notes' }, { 'nh', 'Tdo -1', desc = "Yesterday's Todo" }, { 'nl', 'Tdo 1', desc = "Tomorrow's Todo" }, { 'nn', 'TdoNote', desc = 'New Note' }, { 'nt', 'TdoTodos', desc = 'Incomplete Todos' }, { 'nx', 'TdoToggle', desc = 'Toggle Todo' }, }, }, }