return { 'NickvanDyke/opencode.nvim', dependencies = { 'folke/snacks.nvim', }, ---@type opencode.Config opts = { -- Your configuration, if any }, -- stylua: ignore keys = { { 'ot', function() require('opencode').toggle() end, desc = 'Toggle embedded opencode', }, { 'oa', function() require('opencode').ask() end, desc = 'Ask opencode', mode = 'n', }, { 'oa', function() require('opencode').ask('@selection: ') end, desc = 'Ask opencode about selection', mode = 'v', }, { 'op', function() require('opencode').select_prompt() end, desc = 'Select prompt', mode = { 'n', 'v', }, }, { 'on', function() require('opencode').command('session_new') end, desc = 'New session', }, { 'oy', function() require('opencode').command('messages_copy') end, desc = 'Copy last message', }, { '', function() require('opencode').command('messages_half_page_up') end, desc = 'Scroll messages up', }, { '', function() require('opencode').command('messages_half_page_down') end, desc = 'Scroll messages down', }, }, }