From c0940a194ea002742cb12d88dee9328a0d2da153 Mon Sep 17 00:00:00 2001 From: Billy Biggs Date: Tue, 8 Jul 2025 12:57:34 -0400 Subject: Add a command line option to enable and list extensions (#3191) --- packages/cli/src/ui/hooks/slashCommandProcessor.ts | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'packages/cli/src/ui/hooks/slashCommandProcessor.ts') diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index c174b8a4..66cf4e39 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -493,6 +493,34 @@ export const useSlashCommandProcessor = ( }); }, }, + { + name: 'extensions', + description: 'list active extensions', + action: async () => { + const activeExtensions = config?.getActiveExtensions(); + if (!activeExtensions || activeExtensions.length === 0) { + addMessage({ + type: MessageType.INFO, + content: 'No active extensions.', + timestamp: new Date(), + }); + return; + } + + let message = 'Active extensions:\n\n'; + for (const ext of activeExtensions) { + message += ` - \u001b[36m${ext.name} (v${ext.version})\u001b[0m\n`; + } + // Make sure to reset any ANSI formatting at the end to prevent it from affecting the terminal + message += '\u001b[0m'; + + addMessage({ + type: MessageType.INFO, + content: message, + timestamp: new Date(), + }); + }, + }, { name: 'tools', description: 'list available Gemini CLI tools', -- cgit v1.2.3