From 972e5f9c68cc433c5fc26adf92cd25b293a3776a Mon Sep 17 00:00:00 2001 From: brustybee Date: Mon, 9 Mar 2026 17:02:03 +0530 Subject: One shot upload --- lua/plugins/ai.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lua/plugins/ai.lua (limited to 'lua/plugins/ai.lua') diff --git a/lua/plugins/ai.lua b/lua/plugins/ai.lua new file mode 100644 index 0000000..0aa51d8 --- /dev/null +++ b/lua/plugins/ai.lua @@ -0,0 +1,29 @@ +return { + { + "opencode-nvim", + for_cat = "ai", + keys = { + -- stylua: ignore start + { 'co', function() require('opencode').toggle() end, desc = 'Toggle opencode' }, + { 'ca', function() require('opencode').ask() end, desc = 'Ask opencode', mode = { 'n', 'v' } }, + { 'cA', function() require('opencode').ask('@buffer ', { submit = true }) end, desc = 'Ask opencode about current file', mode = { 'n', 'v' } }, + { 'cn', function() require('opencode').command('session.new') end, desc = 'New session' }, + { 'ce', function() require('opencode').prompt('Explain @this and its context') end, desc = 'Explain code at cursor', mode = { 'n', 'v' } }, + { 'cr', function() require('opencode').prompt('Review @buffer for correctness and readability') end, desc = 'Review file' }, + { 'cf', function() require('opencode').prompt('Fix @diagnostics') end, desc = 'Fix errors' }, + { 'cp', function() require('opencode').prompt('Optimize @this for performance and readability') end, desc = 'Optimize selection', mode = 'v' }, + { 'cd', function() require('opencode').prompt('Add documentation comments for @this') end, desc = 'Document selection', mode = 'v' }, + { 'ct', function() require('opencode').prompt('Add tests for @this') end, desc = 'Test selection', mode = 'v' }, + { 'cs', function() require('opencode').select() end, desc = 'Select opencode action', mode = { 'n', 'v' } }, + -- stylua: ignore end + }, + before = function() + vim.g.opencode_opts = { + providers = { + enabled = "terminal", + tmux = {}, + }, + } + end, + }, +} -- cgit v1.3.1