diff options
| author | christine betts <[email protected]> | 2025-07-25 20:56:33 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-25 20:56:33 +0000 |
| commit | eb65034117f7722554a717de034e891ba1996e93 (patch) | |
| tree | f279bee5ca55b0e447eabc70a11e96de307d76f3 /packages/cli/src/ui/hooks/useCompletion.ts | |
| parent | de968877895a8ae5f0edb83a43b37fa190cc8ec9 (diff) | |
Load and use MCP server prompts as slash commands in the CLI (#4828)
Co-authored-by: harold <[email protected]>
Co-authored-by: N. Taylor Mullen <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/hooks/useCompletion.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/useCompletion.ts | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/cli/src/ui/hooks/useCompletion.ts b/packages/cli/src/ui/hooks/useCompletion.ts index dc45222d..10724c21 100644 --- a/packages/cli/src/ui/hooks/useCompletion.ts +++ b/packages/cli/src/ui/hooks/useCompletion.ts @@ -638,10 +638,17 @@ export function useCompletion( // Determine the base path of the command. // - If there's a trailing space, the whole command is the base. // - If it's a known parent path, the whole command is the base. + // - If the last part is a complete argument, the whole command is the base. // - Otherwise, the base is everything EXCEPT the last partial part. + const lastPart = parts.length > 0 ? parts[parts.length - 1] : ''; + const isLastPartACompleteArg = + lastPart.startsWith('--') && lastPart.includes('='); + const basePath = - hasTrailingSpace || isParentPath ? parts : parts.slice(0, -1); - const newValue = `/${[...basePath, suggestion].join(' ')}`; + hasTrailingSpace || isParentPath || isLastPartACompleteArg + ? parts + : parts.slice(0, -1); + const newValue = `/${[...basePath, suggestion].join(' ')} `; buffer.setText(newValue); } else { |
