fix(nvim): use opencode server fallback in kitty and move mappings to <leader>o

This commit is contained in:
Paul-Henri Froidmont 2026-03-25 01:03:37 +01:00
parent 3416f8a013
commit c5abace3d9
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE

View file

@ -1,13 +1,26 @@
return { return {
"NickvanDyke/opencode.nvim", "NickvanDyke/opencode.nvim",
config = function() config = function()
local function open_opencode_in_kitty_tab()
vim.fn.jobstart({
"kitty",
"@",
"launch",
"--type=tab",
"--cwd",
vim.fn.getcwd(),
"sh",
"-lc",
"opencode --port",
}, { detach = true })
end
---@type opencode.Opts ---@type opencode.Opts
vim.g.opencode_opts = { vim.g.opencode_opts = {
provider = { server = {
enabled = "kitty", start = open_opencode_in_kitty_tab,
kitty = { toggle = open_opencode_in_kitty_tab,
location = "tab" stop = function() end,
}
}, },
events = { events = {
permissions = { permissions = {
@ -17,19 +30,19 @@ return {
} }
vim.o.autoread = true vim.o.autoread = true
vim.keymap.set({ "n", "x" }, "<leader>aa", function() vim.keymap.set({ "n", "x" }, "<leader>oa", function()
require("opencode").ask("@this: ", { submit = true }) require("opencode").ask("@this: ", { submit = true })
end, { desc = "Ask opencode" }) end, { desc = "Ask opencode" })
vim.keymap.set({ "n", "x" }, "<leader>ao", function() vim.keymap.set({ "n", "x" }, "<leader>oo", function()
require("opencode").select() require("opencode").select()
end, { desc = "Execute opencode action…" }) end, { desc = "Execute opencode action…" })
vim.keymap.set({ "n", "x" }, "<leader>as", function() vim.keymap.set({ "n", "x" }, "<leader>os", function()
require("opencode").prompt("@this") require("opencode").prompt("@this")
end, { desc = "Add to opencode" }) end, { desc = "Add to opencode" })
vim.keymap.set({ "n", "t" }, "<leader>a.", function() vim.keymap.set({ "n", "t" }, "<leader>o.", function()
require("opencode").toggle() require("opencode").toggle()
end, { desc = "Toggle opencode" }) end, { desc = "Toggle opencode" })
end, end,