nvim-configs/lua/plugins/editing.lua

171 lines
6.0 KiB
Lua

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()
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", "<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')
-- generic
vim.keymap.set('n', '<leader>l', builtin.live_grep, { desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>H', builtin.help_tags, { desc = 'Telescope help tags' })
vim.keymap.set('n', '<leader>o', builtin.oldfiles, { desc = 'Telescope oldfiles' })
vim.keymap.set('n', '<leader>t', function()
vim.cmd [[TodoTelescope]]
end, { desc = 'Telescope Todo' })
-- code inteligence
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' })
vim.keymap.set("n", "<leader>ct", function()
vim.cmd [[Trouble diagnostics]]
end, { desc = "Run Trouble Diagnostics" })
vim.keymap.set('n', '<leader>cR', function()
vim.lsp.buf.rename()
end, {desc = "LSP Rename"})
-- file finding
vim.keymap.set('n', '<leader>pf', builtin.find_files, { desc = 'Telescope find in project' })
vim.keymap.set('n', '<leader>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', '<leader>fs', function()
vim.cmd [[w]]
end, { desc = 'Save' })
-- buffers
vim.keymap.set('n', '<leader>bb', builtin.buffers, { desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>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'})
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,
}, {
"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 = "openai",
auto_suggestions_provider = "openai",
openai = {
endpoint = "https://api.deepseek.com/v1",
model = "deepseek-chat",
timeout = 30000,
temperature = 0,
max_tokens = 8192,
},
file_selector = {
provider = "telescope",
provider_opts = {},
},
}
}, {
"NeogitOrg/neogit",
config = function()
vim.keymap.set("n", "<leader>G", function()
vim.cmd [[Neogit]]
end, { desc = "Run Neogit" })
end
}, {
'hat0uma/csvview.nvim',
config = function()
require('csvview').setup()
end
}
}