From f711722233b4906e38d4603ea39b439b724c756c Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Wed, 8 Oct 2025 22:50:18 -0400 Subject: [PATCH] refactor(nvim): simplify Neovim configuration with selene --- lua/plugins/opencode.lua | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lua/plugins/opencode.lua diff --git a/lua/plugins/opencode.lua b/lua/plugins/opencode.lua new file mode 100644 index 0000000..308da4f --- /dev/null +++ b/lua/plugins/opencode.lua @@ -0,0 +1,46 @@ +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" }, + "a", + function() require("opencode").ask("@this: ", { submit = true }) end, + { desc = "Ask about this" } + ) + vim.keymap.set({ "n", "x" }, "@", function() require("opencode").prompt "@this" end, { desc = "Add this" }) + vim.keymap.set({ "n", "x" }, "s", function() require("opencode").select() end, { desc = "Select prompt" }) + vim.keymap.set("n", "t", function() require("opencode").toggle() end, { desc = "Toggle embedded" }) + vim.keymap.set("n", "n", function() require("opencode").command "session_new" end, { desc = "New session" }) + vim.keymap.set( + "n", + "i", + function() require("opencode").command "session_interrupt" end, + { desc = "Interrupt session" } + ) + vim.keymap.set( + "n", + "U", + function() require("opencode").command "messages_half_page_up" end, + { desc = "Messages half page up" } + ) + vim.keymap.set( + "n", + "D", + function() require("opencode").command "messages_half_page_down" end, + { desc = "Messages half page down" } + ) + end, +}