opencode keybinds

This commit is contained in:
Stuart Stephens 2026-01-23 15:57:03 -05:00
parent 35c5929bff
commit 10f5ddacd4
1 changed files with 14 additions and 2 deletions

View File

@ -3,11 +3,14 @@ return {
dependencies = { dependencies = {
-- Recommended for `ask()` and `select()`. -- Recommended for `ask()` and `select()`.
-- Required for `toggle()`. -- Required for `toggle()`.
{ 'folke/snacks.nvim', lazy = false, priority = 1000, opts = { input = {}, picker = {} } }, { 'folke/snacks.nvim', lazy = false, priority = 1000, opts = { input = {}, picker = {}, notifier = { top_down = false } } },
}, },
config = function() config = function()
vim.g.opencode_opts = { vim.g.opencode_opts = {
-- Your configuration, if any — see `lua/opencode/config.lua` terminal = {
-- Inline env var in command to bypass TLS verification on hotspot/public Wi-Fi
cmd = 'NODE_TLS_REJECT_UNAUTHORIZED=0 opencode',
},
} }
-- Required for `vim.g.opencode_opts.auto_reload` -- Required for `vim.g.opencode_opts.auto_reload`
@ -17,30 +20,39 @@ return {
vim.keymap.set({ 'n', 'x' }, '<leader>oa', function() vim.keymap.set({ 'n', 'x' }, '<leader>oa', function()
require('opencode').ask('@this: ', { submit = true }) require('opencode').ask('@this: ', { submit = true })
end, { desc = 'Ask about this' }) end, { desc = 'Ask about this' })
vim.keymap.set({ 'n', 'x' }, '<leader>os', function() vim.keymap.set({ 'n', 'x' }, '<leader>os', function()
require('opencode').select() require('opencode').select()
end, { desc = 'Select prompt' }) end, { desc = 'Select prompt' })
vim.keymap.set({ 'n', 'x' }, '<leader>o+', function() vim.keymap.set({ 'n', 'x' }, '<leader>o+', function()
require('opencode').prompt '@this' require('opencode').prompt '@this'
end, { desc = 'Add this' }) end, { desc = 'Add this' })
vim.keymap.set('n', '<leader>ot', function() vim.keymap.set('n', '<leader>ot', function()
require('opencode').toggle() require('opencode').toggle()
end, { desc = 'Toggle embedded' }) end, { desc = 'Toggle embedded' })
vim.keymap.set('n', '<leader>oc', function() vim.keymap.set('n', '<leader>oc', function()
require('opencode').command() require('opencode').command()
end, { desc = 'Select command' }) end, { desc = 'Select command' })
vim.keymap.set('n', '<leader>on', function() vim.keymap.set('n', '<leader>on', function()
require('opencode').command 'session_new' require('opencode').command 'session_new'
end, { desc = 'New session' }) end, { desc = 'New session' })
vim.keymap.set('n', '<leader>oi', function() vim.keymap.set('n', '<leader>oi', function()
require('opencode').command 'session_interrupt' require('opencode').command 'session_interrupt'
end, { desc = 'Interrupt session' }) end, { desc = 'Interrupt session' })
vim.keymap.set('n', '<leader>oA', function() vim.keymap.set('n', '<leader>oA', function()
require('opencode').command 'agent_cycle' require('opencode').command 'agent_cycle'
end, { desc = 'Cycle selected agent' }) end, { desc = 'Cycle selected agent' })
vim.keymap.set('n', '<S-C-u>', function() vim.keymap.set('n', '<S-C-u>', function()
require('opencode').command 'messages_half_page_up' require('opencode').command 'messages_half_page_up'
end, { desc = 'Messages half page up' }) end, { desc = 'Messages half page up' })
vim.keymap.set('n', '<S-C-d>', function() vim.keymap.set('n', '<S-C-d>', function()
require('opencode').command 'messages_half_page_down' require('opencode').command 'messages_half_page_down'
end, { desc = 'Messages half page down' }) end, { desc = 'Messages half page down' })