opencode.nvim

This commit is contained in:
2025-10-18 13:45:14 +01:00
parent 1167bad460
commit a4c4482840
2 changed files with 49 additions and 0 deletions
+1
View File
@@ -25,6 +25,7 @@
"nvim-treesitter": { "branch": "main", "commit": "de003000a287c501a6650a1ddd3be80ee34278d4" }, "nvim-treesitter": { "branch": "main", "commit": "de003000a287c501a6650a1ddd3be80ee34278d4" },
"nvim-treesitter-textobjects": { "branch": "main", "commit": "1b2d85d3de6114c4bcea89ffb2cd1ce9e3a19931" }, "nvim-treesitter-textobjects": { "branch": "main", "commit": "1b2d85d3de6114c4bcea89ffb2cd1ce9e3a19931" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"opencode.nvim": { "branch": "main", "commit": "f8a3a88ad5c0c01102fedaacb1c612a4b874ed54" },
"persistence.nvim": { "branch": "main", "commit": "51eef57272742b773468949f6bd0503ec3f83874" }, "persistence.nvim": { "branch": "main", "commit": "51eef57272742b773468949f6bd0503ec3f83874" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"snacks.nvim": { "branch": "main", "commit": "d91fc7d3fa853422fe4d506220b23394d2c19d38" }, "snacks.nvim": { "branch": "main", "commit": "d91fc7d3fa853422fe4d506220b23394d2c19d38" },
+48
View File
@@ -0,0 +1,48 @@
return {
"NickvanDyke/opencode.nvim",
dependencies = {
-- Recommended for `ask()` and `select()`.
-- Required for `toggle()`.
{ "folke/snacks.nvim", opts = { input = {}, picker = {} } },
},
config = function()
vim.g.opencode_opts = {
-- Your configuration, if any — see `lua/opencode/config.lua`
}
-- Required for `vim.g.opencode_opts.auto_reload`
vim.opt.autoread = true
-- Recommended/example keymaps
vim.keymap.set({ "n", "x" }, "<leader>oa", function()
require("opencode").ask("@this: ", { submit = true })
end, { desc = "Ask about this" })
vim.keymap.set({ "n", "x" }, "<leader>os", function()
require("opencode").select()
end, { desc = "Select prompt" })
vim.keymap.set({ "n", "x" }, "<leader>o+", function()
require("opencode").prompt("@this")
end, { desc = "Add this" })
vim.keymap.set("n", "<leader>ot", function()
require("opencode").toggle()
end, { desc = "Toggle embedded" })
vim.keymap.set("n", "<leader>oc", function()
require("opencode").command()
end, { desc = "Select command" })
vim.keymap.set("n", "<leader>on", function()
require("opencode").command("session_new")
end, { desc = "New session" })
vim.keymap.set("n", "<leader>oi", function()
require("opencode").command("session_interrupt")
end, { desc = "Interrupt session" })
vim.keymap.set("n", "<leader>oA", function()
require("opencode").command("agent_cycle")
end, { desc = "Cycle selected agent" })
vim.keymap.set("n", "<S-C-u>", function()
require("opencode").command("messages_half_page_up")
end, { desc = "Messages half page up" })
vim.keymap.set("n", "<S-C-d>", function()
require("opencode").command("messages_half_page_down")
end, { desc = "Messages half page down" })
end,
}