return { { "kylechui/nvim-surround", version = "*", -- Use for stability; omit to use `main` branch for the latest features event = "VeryLazy", config = function() require("nvim-surround").setup({ -- Configuration here, or leave empty to use defaults }) end }, { 'echasnovski/mini.pairs', version = '*' , event = "VeryLazy", config = function() require('mini.pairs').setup({}) end }, { 'echasnovski/mini.ai', version = '*' , }, { "nvim-neo-tree/neo-tree.nvim", branch = "v3.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information }, config = function() vim.keymap.set("n", "e", function() vim.cmd [[Neotree reveal]] end, { desc = "Run Neotree" }) require'neo-tree'.setup { filesystem = { filtered_items = { hide_by_pattern = { "*.meta" } } } } end }, { 'MagicDuck/grug-far.nvim', config = function() require('grug-far').setup({ -- options, see Configuration section below -- there are no required options atm -- engine = 'ripgrep' is default, but 'astgrep' can be specified }); vim.keymap.set("n", "g", function() vim.cmd [[GrugFar]] end, { desc = "Run GrugFar" }) end }, { "folke/flash.nvim", event = "VeryLazy", ---@type Flash.Config opts = {}, -- stylua: ignore }, { 'nvim-telescope/telescope.nvim', tag = '0.1.8', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() local builtin = require('telescope.builtin') local utils = require('telescope.utils') -- generic -- vim.keymap.set('n', 'l', builtin.live_grep, { desc = 'Telescope live grep' }) vim.keymap.set('n', 'H', builtin.help_tags, { desc = 'Telescope help tags' }) vim.keymap.set('n', 'o', builtin.oldfiles, { desc = 'Telescope oldfiles' }) vim.keymap.set('n', 't', function() vim.cmd [[TodoTelescope]] end, { desc = 'Telescope Todo' }) -- code inteligence vim.keymap.set('n', 'cd', builtin.diagnostics, { desc = 'Telescope diagnostics' }) vim.keymap.set('n', 'cr', builtin.lsp_references, { desc = 'Telescope lsp references' }) vim.keymap.set('n', 'cs', builtin.treesitter, { desc = 'Telescope treesitter' }) vim.keymap.set("n", "ct", function() vim.cmd [[Trouble diagnostics]] end, { desc = "Run Trouble Diagnostics" }) vim.keymap.set('n', 'cR', function() vim.lsp.buf.rename() end, {desc = "LSP Rename"}) -- file finding vim.keymap.set('n', 'pf', builtin.find_files, { desc = 'Telescope find in project' }) vim.keymap.set('n', 'ff', function() builtin.find_files({ cwd = utils.buffer_dir() }) end, { desc = 'Telescope find in buffer dir' }) -- something I'm too used to vim.keymap.set('n', 'fs', function() vim.cmd [[w]] end, { desc = 'Save' }) -- buffers vim.keymap.set('n', 'bb', builtin.buffers, { desc = 'Telescope buffers' }) vim.keymap.set('n', 'bd', function() vim.cmd [[Bd]] end, { desc = 'Save and close' }) vim.keymap.set('n', ']b', function() vim.cmd [[bnext]] end, {desc = 'Next buffer'}) vim.keymap.set('n', '[b', function() vim.cmd [[bprev]] end, {desc = 'Prev buffer'}) -- jump quicklist vim.keymap.set('n', ']c', function() vim.cmd [[cnext]] end, {desc = 'Next Quicklist'}) vim.keymap.set('n', '[c', function() vim.cmd [[cprev]] end, {desc = 'Prev Quicklist'}) -- well, avante vim.keymap.set('n', 'apd', function() vim.cmd [[AvanteSwitchProvider deepseek]] end, {desc = 'deepseek-v3 official'}) vim.keymap.set('n', 'apg', function() vim.cmd [[AvanteSwitchProvider groq]] end, {desc = 'groq r1-distill-70b'}) vim.keymap.set('n', 'aps', function() vim.cmd [[AvanteSwitchProvider siliconflow]] end, {desc = 'siliconflow deepseek-v3'}) end }, { "folke/trouble.nvim", opts = {}, -- for default options, refer to the configuration section for custom setup. cmd = "Trouble", }, { "aznhe21/actions-preview.nvim", config = function() vim.keymap.set({ "v", "n" }, "ca", require("actions-preview").code_actions, { desc = "Telescope code actions"}) end, }, { "famiu/bufdelete.nvim" }, { "yetone/avante.nvim", event = 'VeryLazy', lazy = false, build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false", dependencies = { "stevearc/dressing.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", }, opts = { provider = "deepseek", auto_suggestions_provider = "deepseek", vendors = { deepseek = { __inherited_from = "openai", api_key_name = "DEEPSEEK_API_KEY", endpoint = "https://api.deepseek.com/v1", model = "deepseek-chat", timeout = 30000, temperature = 0, max_tokens = 8192, }, groq = { __inherited_from = "openai", api_key_name = "GROQ_API_KEY", endpoint = "https://api.groq.com/openai/v1", model = "deepseek-r1-distill-llama-70b", timeout = 30000, temperature = 0, max_tokens = 8192, }, siliconflow = { __inherited_from = "openai", api_key_name = "SILICONFLOW_API_KEY", endpoint = "https://api.siliconflow.cn/v1", model = "deepseek-ai/DeepSeek-V3", timeout = 30000, temperature = 0, max_tokens = 4096, }, }, file_selector = { provider = "telescope", provider_opts = {}, }, } }, { 'hat0uma/csvview.nvim', config = function() require('csvview').setup() end } }