44 lines
1.2 KiB
Lua
44 lines
1.2 KiB
Lua
vim.pack.add {
|
|
{
|
|
src = 'https://github.com/nickjvandyke/opencode.nvim',
|
|
version = vim.version.range '*',
|
|
},
|
|
}
|
|
|
|
local opencode_port = 4096
|
|
local opencode_url = 'http://127.0.0.1:' .. opencode_port
|
|
|
|
---@type opencode.Opts
|
|
vim.g.opencode_opts = {
|
|
server = {
|
|
url = opencode_url,
|
|
start = false,
|
|
},
|
|
}
|
|
|
|
vim.o.autoread = true -- Required for `vim.g.opencode_opts.events.reload`.
|
|
|
|
vim.keymap.set({ 'n', 'x' }, '<leader>oa', function()
|
|
require('opencode').ask('@this: ')
|
|
end, { desc = 'Ask opencode' })
|
|
|
|
vim.keymap.set({ 'n', 'x' }, '<leader>os', function()
|
|
require('opencode').select()
|
|
end, { desc = 'Select opencode action' })
|
|
|
|
vim.keymap.set({ 'n', 'x' }, 'go', function()
|
|
return require('opencode').operator('@this ')
|
|
end, { desc = 'Add range to opencode', expr = true })
|
|
|
|
vim.keymap.set('n', 'goo', function()
|
|
return require('opencode').operator('@this ') .. '_'
|
|
end, { desc = 'Add line to opencode', expr = true })
|
|
|
|
vim.keymap.set('n', '<S-C-u>', function()
|
|
require('opencode').command('session.half.page.up')
|
|
end, { desc = 'Scroll opencode up' })
|
|
|
|
vim.keymap.set('n', '<S-C-d>', function()
|
|
require('opencode').command('session.half.page.down')
|
|
end, { desc = 'Scroll opencode down' })
|