1
0
mirror of https://github.com/dcarrillo/dotfiles.git synced 2026-04-26 18:01:35 +00:00

[neovim] Add opencode plugin

This commit is contained in:
2026-04-19 18:39:27 +02:00
parent 2b789b6eaa
commit fd31809826
4 changed files with 35 additions and 1 deletions
+17
View File
@@ -307,3 +307,20 @@ keymap(
-- Leap -- Leap
keymap({ "n", "x", "o" }, "s", "<Plug>(leap)") keymap({ "n", "x", "o" }, "s", "<Plug>(leap)")
keymap("n", "S", "<Plug>(leap-from-window)") keymap("n", "S", "<Plug>(leap-from-window)")
-- Recommended/example keymaps
keymap({ "n", "x" }, "<leader>aa", function()
require("opencode").ask("@this: ", { submit = true })
end, { desc = "Ask opencode…" })
-- keymap({ "n", "x" }, "<leader>ax", function()
-- require("opencode").select()
-- end, { desc = "Execute opencode action…" })
-- keymap({ "n", "t" }, "<leader>at", function()
-- require("opencode").toggle()
-- end, { desc = "Toggle opencode" })
keymap({ "n", "x" }, "<leader>ar", function()
return require("opencode").operator("@this ")
end, { desc = "Add range to opencode", expr = true })
keymap("n", "<leader>al", function()
return require("opencode").operator("@this ") .. "_"
end, { desc = "Add line to opencode", expr = true })
+4
View File
@@ -220,6 +220,10 @@ require("lazy").setup({
event = "InsertEnter", event = "InsertEnter",
}, },
{ "AndreM222/copilot-lualine" }, { "AndreM222/copilot-lualine" },
{
"nickjvandyke/opencode.nvim",
version = "*", -- Latest stable release
},
-- Folding -- Folding
{ {
+1
View File
@@ -48,3 +48,4 @@ vim.opt.foldlevelstart = 99
vim.opt.foldcolumn = "1" vim.opt.foldcolumn = "1"
vim.opt.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:,diff: ]] vim.opt.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:,diff: ]]
vim.opt.cmdheight = 0 -- Number of screen lines to use for the command-line vim.opt.cmdheight = 0 -- Number of screen lines to use for the command-line
vim.o.autoread = true -- Required by Opencode plugin for `opts.events.reload`
+13 -1
View File
@@ -9,6 +9,18 @@ require("snacks").setup({
ignored = true, ignored = true,
}, },
}, },
actions = {
opencode_send = function(...)
return require("opencode").snacks_picker_send(...)
end,
},
win = {
input = {
keys = {
["<a-a>"] = { "opencode_send", mode = { "n", "i" } },
},
},
},
}, },
indent = { indent = {
indent = { char = "" }, indent = { char = "" },
@@ -42,7 +54,7 @@ require("snacks").setup({
indent = 2, indent = 2,
}, },
{ icon = "", desc = "Mason", action = ":Mason", key = "m", indent = 2 }, { icon = "", desc = "Mason", action = ":Mason", key = "m", indent = 2 },
-- { icon = "", desc = "Tree-sitter", action = ":TSUpdate", key = "t", indent = 2, padding = 2 }, { icon = "", desc = "Tree-sitter", action = ":TSManager", key = "t", indent = 2, padding = 2 },
{ section = "startup" }, { section = "startup" },
}, },