From ad0e66164f8b436712a20ee4f031f6c281f691bc Mon Sep 17 00:00:00 2001 From: Joao P Dubas Date: Wed, 28 May 2025 13:51:43 +0000 Subject: [PATCH] feat(neovim): add goose.nvim to interact with goose --- config/nvim/lua/custom/plugins/init.lua | 59 +++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/config/nvim/lua/custom/plugins/init.lua b/config/nvim/lua/custom/plugins/init.lua index 680334e..d89477c 100644 --- a/config/nvim/lua/custom/plugins/init.lua +++ b/config/nvim/lua/custom/plugins/init.lua @@ -310,6 +310,65 @@ return { }, }, }, + { + 'azorng/goose.nvim', + dependencies = { + 'nvim-lua/plenary.nvim', + { + 'MeanderingProgrammer/render-markdown.nvim', + opts = { + file_types = { 'markdown', 'goose' }, + anti_conceal = { enabled = false }, + }, + }, + }, + opts = { + prefered_picker = 'telescope', + default_global_keymaps = false, + ui = { + window_widht = 0.3, + input_height = 0.2, + fullscreen = false, + layout = 'right', + floating_height = 0.9, + display_model = true, + display_goose_mode = true, + }, + providers = { + anthropic = { + 'claude-sonnet-4-20250514', + }, + gemini = { + 'gemini-2.5-pro-preview-05-06', + 'gemini-2.5-flash-preview-05-20', + 'gemini-2.0-flash', + }, + groq = { + 'deepseek-r1-distill-llama-70b', + 'qwen-qwq-32b', + }, + }, + }, + keys = { + { 'gg', 'Goose', mode = 'n', desc = 'Toggle goose' }, + { 'gi', 'GooseOpenInput', mode = 'n', desc = 'Open goose input' }, + { 'gI', 'GooseOpenInputNewSession', mode = 'n', desc = 'Open goose input in new session' }, + { 'go', 'GooseOpenOutput', mode = 'n', desc = 'Open goose output' }, + { 'gt', 'GooseToggleFocus', mode = 'n', desc = 'Toggle focus between goose and last window' }, + { 'gq', 'GooseClose', mode = 'n', desc = 'Close goose' }, + { 'gf', 'GooseToggleFullscreen', mode = 'n', desc = 'Toggle goose fullscreen' }, + { 'gsn', 'GooseSelectSession', mode = 'n', desc = 'Select and load a goose session' }, + -- { 'gmc', 'GooseModeChat', mode = 'n', desc = 'Set goose mode to `chat`' }, + -- { 'gma', 'GooseModeAuto', mode = 'n', desc = 'Set goose mode to `auto`' }, + { 'gp', 'GooseConfigureProvider', mode = 'n', desc = 'Quick provider and model switch from predefined list' }, + { 'gd', 'GooseDiff', mode = 'n', desc = 'Opens a diff tab of a modified file since the last goose prompt' }, + { 'g]', 'GooseDiffNext', mode = 'n', desc = 'Navigate to next file diff' }, + { 'g[', 'GooseDiffPrev', mode = 'n', desc = 'Navigate to previous file diff' }, + { 'gc', 'GooseDiffClose', mode = 'n', desc = 'Close diff view tab and return to normal editing' }, + { 'gra', 'GooseDiffRevertAll', mode = 'n', desc = 'Revert all file changes since the last goose prompt' }, + { 'grt', 'GooseDiffRevertThis', mode = 'n', desc = 'Revert current file changes since the last goose prompt' }, + }, + }, { 'sphamba/smear-cursor.nvim', opts = {