61 lines
2.0 KiB
Lua
61 lines
2.0 KiB
Lua
return {
|
|
'NickvanDyke/opencode.nvim',
|
|
dependencies = {
|
|
-- Recommended for `ask()` and `select()`.
|
|
-- Required for `toggle()`.
|
|
{ 'folke/snacks.nvim', lazy = false, priority = 1000, opts = { input = {}, picker = {}, notifier = { top_down = false } } },
|
|
},
|
|
config = function()
|
|
vim.g.opencode_opts = {
|
|
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`
|
|
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,
|
|
}
|