Support completion of checkpoint names in /resume (#1063)

This commit is contained in:
Billy Biggs
2025-06-15 11:40:39 -07:00
committed by GitHub
parent 6d772a30c0
commit b67806ae9a
3 changed files with 67 additions and 4 deletions

View File

@@ -109,11 +109,20 @@ export const InputPrompt: React.FC<InputPromptProps> = ({
const selectedSuggestion = completionSuggestions[indexToUse];
if (query.trimStart().startsWith('/')) {
const parts = query.trimStart().substring(1).split(' ');
const commandName = parts[0];
const slashIndex = query.indexOf('/');
const base = query.substring(0, slashIndex + 1);
const newValue = base + selectedSuggestion.value;
buffer.setText(newValue);
handleSubmitAndClear(newValue);
const command = slashCommands.find((cmd) => cmd.name === commandName);
if (command && command.completion) {
const newValue = `${base}${commandName} ${selectedSuggestion.value}`;
buffer.setText(newValue);
} else {
const newValue = base + selectedSuggestion.value;
buffer.setText(newValue);
handleSubmitAndClear(newValue);
}
} else {
const atIndex = query.lastIndexOf('@');
if (atIndex === -1) return;
@@ -131,7 +140,13 @@ export const InputPrompt: React.FC<InputPromptProps> = ({
}
resetCompletionState();
},
[resetCompletionState, handleSubmitAndClear, buffer, completionSuggestions],
[
resetCompletionState,
handleSubmitAndClear,
buffer,
completionSuggestions,
slashCommands,
],
);
useInput(