Skip to content

Commit 2c09bed

Browse files
committed
add: opencode.lua
1 parent 6078f96 commit 2c09bed

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

lua/custom/plugins/opencode.lua

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
return {
2+
'NickvanDyke/opencode.nvim',
3+
dependencies = {
4+
-- Recommended for `ask()` and `select()`.
5+
-- Required for `snacks` provider.
6+
---@module 'snacks' <- Loads `snacks.nvim` types for configuration intellisense.
7+
{ 'folke/snacks.nvim', opts = { input = {}, picker = {}, terminal = {} } },
8+
},
9+
config = function()
10+
---@type opencode.Opts
11+
vim.g.opencode_opts = {
12+
-- Your configuration, if any — see `lua/opencode/config.lua`, or "goto definition" on the type or field.
13+
}
14+
15+
-- Required for `opts.events.reload`.
16+
vim.o.autoread = true
17+
18+
-- Recommended/example keymaps.
19+
vim.keymap.set({ 'n', 'x' }, '<C-a>', function()
20+
require('opencode').ask('@this: ', { submit = true })
21+
end, { desc = 'Ask opencode…' })
22+
vim.keymap.set({ 'n', 'x' }, '<C-x>', function()
23+
require('opencode').select()
24+
end, { desc = 'Execute opencode action…' })
25+
vim.keymap.set({ 'n', 't' }, '<C-.>', function()
26+
require('opencode').toggle()
27+
end, { desc = 'Toggle opencode' })
28+
29+
vim.keymap.set({ 'n', 'x' }, 'go', function()
30+
return require('opencode').operator '@this '
31+
end, { desc = 'Add range to opencode', expr = true })
32+
vim.keymap.set('n', 'goo', function()
33+
return require('opencode').operator '@this ' .. '_'
34+
end, { desc = 'Add line to opencode', expr = true })
35+
36+
vim.keymap.set('n', '<S-C-u>', function()
37+
require('opencode').command 'session.half.page.up'
38+
end, { desc = 'Scroll opencode up' })
39+
vim.keymap.set('n', '<S-C-d>', function()
40+
require('opencode').command 'session.half.page.down'
41+
end, { desc = 'Scroll opencode down' })
42+
43+
-- You may want these if you stick with the opinionated "<C-a>" and "<C-x>" above — otherwise consider "<leader>o…".
44+
vim.keymap.set('n', '+', '<C-a>', { desc = 'Increment under cursor', noremap = true })
45+
vim.keymap.set('n', '-', '<C-x>', { desc = 'Decrement under cursor', noremap = true })
46+
end,
47+
}

0 commit comments

Comments
 (0)