summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks
diff options
context:
space:
mode:
authorAbhi <[email protected]>2025-07-23 16:11:23 -0400
committerGitHub <[email protected]>2025-07-23 20:11:23 +0000
commitbbe95f1eaa8f5351c58e0866ba938415db7891e4 (patch)
tree045bd725f24d5b197b5cebaad3a4074c14a99ba1 /packages/cli/src/ui/hooks
parent2d1eafae95b7a140ac42ea5899f2f4ff6bca80ae (diff)
feat(commands): Implement argument handling for custom commands via a prompt pipeline (#4702)
Diffstat (limited to 'packages/cli/src/ui/hooks')
-rw-r--r--packages/cli/src/ui/hooks/slashCommandProcessor.ts17
1 files changed, 14 insertions, 3 deletions
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts
index 48be0470..fa2b0b12 100644
--- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts
+++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts
@@ -238,7 +238,18 @@ export const useSlashCommandProcessor = (
const args = parts.slice(pathIndex).join(' ');
if (commandToExecute.action) {
- const result = await commandToExecute.action(commandContext, args);
+ const fullCommandContext: CommandContext = {
+ ...commandContext,
+ invocation: {
+ raw: trimmed,
+ name: commandToExecute.name,
+ args,
+ },
+ };
+ const result = await commandToExecute.action(
+ fullCommandContext,
+ args,
+ );
if (result) {
switch (result.type) {
@@ -288,9 +299,9 @@ export const useSlashCommandProcessor = (
await config
?.getGeminiClient()
?.setHistory(result.clientHistory);
- commandContext.ui.clear();
+ fullCommandContext.ui.clear();
result.history.forEach((item, index) => {
- commandContext.ui.addItem(item, index);
+ fullCommandContext.ui.addItem(item, index);
});
return { type: 'handled' };
}