2024-10-06 13:13:53 +08:00
|
|
|
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", "<leader>e", function()
|
2024-10-06 13:37:10 +08:00
|
|
|
vim.cmd [[Neotree reveal]]
|
2024-10-06 13:13:53 +08:00
|
|
|
end, { desc = "Run Neotree" })
|
2025-01-20 10:31:05 +08:00
|
|
|
|
|
|
|
|
require'neo-tree'.setup {
|
|
|
|
|
filesystem = {
|
|
|
|
|
filtered_items = {
|
|
|
|
|
hide_by_pattern = {
|
|
|
|
|
"*.meta"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-10-06 13:13:53 +08:00
|
|
|
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", "<leader>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')
|
|
|
|
|
|
2024-10-09 14:15:34 +08:00
|
|
|
-- generic
|
2025-02-10 14:28:12 +08:00
|
|
|
vim.keymap.set('n', '<leader>tl', builtin.live_grep, { desc = 'Telescope live grep' })
|
|
|
|
|
vim.keymap.set('n', '<leader>th', builtin.help_tags, { desc = 'Telescope help tags' })
|
|
|
|
|
vim.keymap.set('n', '<leader>to', builtin.oldfiles, { desc = 'Telescope oldfiles' })
|
|
|
|
|
vim.keymap.set('n', '<leader>tt', function()
|
2024-10-06 13:13:53 +08:00
|
|
|
vim.cmd [[TodoTelescope]]
|
|
|
|
|
end, { desc = 'Telescope Todo' })
|
|
|
|
|
|
2024-10-09 14:15:34 +08:00
|
|
|
-- code inteligence
|
2024-10-06 13:13:53 +08:00
|
|
|
vim.keymap.set('n', '<leader>cd', builtin.diagnostics, { desc = 'Telescope diagnostics' })
|
|
|
|
|
vim.keymap.set('n', '<leader>cr', builtin.lsp_references, { desc = 'Telescope lsp references' })
|
|
|
|
|
vim.keymap.set('n', '<leader>cs', builtin.treesitter, { desc = 'Telescope treesitter' })
|
2025-01-07 11:30:41 +08:00
|
|
|
vim.keymap.set("n", "<leader>ct", function()
|
|
|
|
|
vim.cmd [[Trouble diagnostics]]
|
|
|
|
|
end, { desc = "Run Trouble Diagnostics" })
|
2025-01-14 10:21:25 +08:00
|
|
|
vim.keymap.set('n', '<leader>cR', function()
|
|
|
|
|
vim.lsp.buf.rename()
|
|
|
|
|
end, {desc = "LSP Rename"})
|
2024-10-06 13:13:53 +08:00
|
|
|
|
2024-10-09 14:15:34 +08:00
|
|
|
-- file finding
|
|
|
|
|
vim.keymap.set('n', '<leader>pf', builtin.find_files, { desc = 'Telescope find in project' })
|
2024-10-06 16:05:50 +08:00
|
|
|
vim.keymap.set('n', '<leader>ff', function()
|
2024-10-06 13:13:53 +08:00
|
|
|
builtin.find_files({ cwd = utils.buffer_dir() })
|
|
|
|
|
end, { desc = 'Telescope find in buffer dir' })
|
|
|
|
|
|
2024-10-09 14:15:34 +08:00
|
|
|
-- something I'm too used to
|
2024-10-06 13:13:53 +08:00
|
|
|
vim.keymap.set('n', '<leader>fs', function()
|
|
|
|
|
vim.cmd [[w]]
|
|
|
|
|
end, { desc = 'Save' })
|
|
|
|
|
|
2024-10-09 14:15:34 +08:00
|
|
|
-- buffers
|
|
|
|
|
vim.keymap.set('n', '<leader>bb', builtin.buffers, { desc = 'Telescope buffers' })
|
|
|
|
|
vim.keymap.set('n', '<leader>bd', function()
|
2024-12-04 10:03:53 +08:00
|
|
|
vim.cmd [[Bd]]
|
2024-10-06 13:13:53 +08:00
|
|
|
end, { desc = 'Save and close' })
|
2024-10-09 17:53:32 +08:00
|
|
|
vim.keymap.set('n', ']b', function()
|
|
|
|
|
vim.cmd [[bnext]]
|
|
|
|
|
end, {desc = 'Next buffer'})
|
|
|
|
|
vim.keymap.set('n', '[b', function()
|
|
|
|
|
vim.cmd [[bprev]]
|
2024-12-30 17:36:12 +08:00
|
|
|
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'})
|
2024-10-06 13:13:53 +08:00
|
|
|
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" }, "<leader>ca", require("actions-preview").code_actions, { desc = "Telescope code actions"})
|
|
|
|
|
end,
|
2024-12-04 10:03:53 +08:00
|
|
|
}, {
|
|
|
|
|
"famiu/bufdelete.nvim"
|
2025-01-05 15:01:57 +08:00
|
|
|
}, {
|
|
|
|
|
"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 = {
|
2025-02-20 09:51:26 +08:00
|
|
|
provider = "siliconflowchat",
|
2025-02-21 10:55:35 +08:00
|
|
|
auto_suggestions_provider = "qwen32",
|
|
|
|
|
cursor_applying_provider = "qwen32",
|
2025-02-20 09:51:26 +08:00
|
|
|
|
|
|
|
|
file_selector = {
|
|
|
|
|
provider = "telescope",
|
|
|
|
|
provider_opts = {},
|
|
|
|
|
},
|
|
|
|
|
behaviour = {
|
|
|
|
|
enable_cursor_planning_mode = true,
|
|
|
|
|
},
|
2025-02-04 14:49:33 +08:00
|
|
|
|
|
|
|
|
vendors = {
|
2025-02-21 10:55:35 +08:00
|
|
|
qwenmax = {
|
2025-02-04 14:49:33 +08:00
|
|
|
__inherited_from = "openai",
|
2025-02-21 10:55:35 +08:00
|
|
|
api_key_name = "QWEN_API_KEY",
|
|
|
|
|
endpoint = "https://dashscope.aliyuncs.com/compatible-mode/v1/",
|
|
|
|
|
model = "qwen-max",
|
|
|
|
|
disable_tools = true,
|
2025-02-04 14:49:33 +08:00
|
|
|
},
|
2025-02-20 09:51:26 +08:00
|
|
|
|
2025-02-21 10:55:35 +08:00
|
|
|
qwen32 = {
|
|
|
|
|
__inherited_from = "openai",
|
|
|
|
|
api_key_name = "QWEN_API_KEY",
|
|
|
|
|
endpoint = "https://dashscope.aliyuncs.com/compatible-mode/v1/",
|
|
|
|
|
model = "qwen2.5-coder-32b-instruct",
|
|
|
|
|
disable_tools = true,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
siliconflowchat = {
|
2025-02-04 14:49:33 +08:00
|
|
|
__inherited_from = "openai",
|
|
|
|
|
api_key_name = "SILICONFLOW_API_KEY",
|
|
|
|
|
endpoint = "https://api.siliconflow.cn/v1",
|
2025-02-21 10:55:35 +08:00
|
|
|
model = "Pro/deepseek-ai/DeepSeek-V3",
|
2025-02-04 14:49:33 +08:00
|
|
|
},
|
|
|
|
|
},
|
2025-01-05 15:01:57 +08:00
|
|
|
}
|
2025-01-23 18:28:13 +08:00
|
|
|
}, {
|
|
|
|
|
'hat0uma/csvview.nvim',
|
|
|
|
|
config = function()
|
|
|
|
|
require('csvview').setup()
|
|
|
|
|
end
|
2024-10-06 13:13:53 +08:00
|
|
|
}
|
|
|
|
|
}
|