nvim/lua/plugins/editor.lua
2026-02-20 18:17:00 -05:00

75 lines
1.9 KiB
Lua

return {
-- Autopairs
{
"windwp/nvim-autopairs",
event = "InsertEnter",
config = function()
require("nvim-autopairs").setup({})
end,
},
-- Flash.nvim for navigation
{
"folke/flash.nvim",
event = "VeryLazy",
opts = {
modes = {
search = {
enabled = true,
},
},
},
keys = {
{ "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
{ "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
{ "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" },
{ "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
},
},
-- Surround
{
"kylechui/nvim-surround",
version = "*",
event = "VeryLazy",
opts = {},
},
-- Folds
{
"kevinhwang91/nvim-ufo",
dependencies = { "kevinhwang91/promise-async" },
event = "BufReadPost",
opts = {
provider_selector = function()
return { "treesitter", "indent" }
end,
},
keys = {
{ "zR", function() require("ufo").openAllFolds() end, desc = "Open all folds" },
{ "zM", function() require("ufo").closeAllFolds() end, desc = "Close all folds" },
},
},
-- Supermaven AI completion
{
"supermaven-inc/supermaven-nvim",
event = "InsertEnter",
opts = {
keymaps = {
accept_suggestion = "<Tab>",
clear_suggestion = "<C-]>",
accept_word = "<C-j>",
},
ignore_filetypes = { "gitcommit", "TelescopePrompt" },
color = {
suggestion_color = vim.api.nvim_get_hl(0, { name = "Comment" }).fg,
cterm = 244,
},
log_level = "info",
disable_inline_completion = false,
disable_keymaps = false,
},
},
}