diff options
Diffstat (limited to 'packages/cli/src/ui/hooks')
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.ts | 28 |
1 files changed, 28 insertions, 0 deletions
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 @@ -494,6 +494,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', action: async (_mainCommand, _subCommand, _args) => { |
