nvim-configs/lua/plugins/editing.lua

184 lines
6.5 KiB
Lua
Raw Normal View History

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-04 14:49:33 +08:00
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 = "qwen-2.5-coder-32b",
2025-02-04 14:49:33 +08:00
},
siliconflow = {
__inherited_from = "openai",
api_key_name = "SILICONFLOW_API_KEY",
endpoint = "https://api.siliconflow.cn/v1",
model = "Pro/deepseek-ai/DeepSeek-V3",
2025-02-04 14:49:33 +08:00
timeout = 30000,
temperature = 0,
max_tokens = 4096,
},
},
file_selector = {
provider = "telescope",
provider_opts = {},
},
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
}
}