fix: Ensure user written ! is treated opaquely if not in shell mode\n\n- Addresses an issue where commands prefixed with ! (e.g., !ls) were incorrectly handled by the shell command processor if the ! was added after initially typing the command.\n- Ensures that such commands are correctly forwarded to the Gemini model.\n- Updates useGeminiStream to be aware of shell mode to properly manage streaming state.\n\nFixes https://buganizer.corp.google.com/issues/418761305

This commit is contained in:
Taylor Mullen
2025-05-19 16:11:45 -07:00
committed by N. Taylor Mullen
parent a756489f86
commit 323b1298f9
4 changed files with 6 additions and 31 deletions

View File

@@ -24,20 +24,3 @@ export const isAtCommand = (query: string): boolean =>
* @returns True if the query looks like an '/' command, false otherwise.
*/
export const isSlashCommand = (query: string): boolean => query.startsWith('/');
const control_symbols: string[] = ['/', '@', '!', '?', '$'];
/**
* Returns the first word of query with optional leading slash, ampersand, bang.
*
* @param query The input query string.
* @returns optional leading symbol and first word of query
*/
export const getCommandFromQuery = (
query: string,
): [string | undefined, string] => {
const word = query.trim().split(/\s/, 1)[0];
if (word.length > 0 && control_symbols.includes(word[0])) {
return [word[0], word.slice(1)];
}
return [undefined, word];
};