forked from ultraworkers/claw-code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinputModes.ts
More file actions
33 lines (29 loc) · 731 Bytes
/
Copy pathinputModes.ts
File metadata and controls
33 lines (29 loc) · 731 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import type { HistoryMode } from 'src/hooks/useArrowKeyHistory.js'
import type { PromptInputMode } from 'src/types/textInputTypes.js'
export function prependModeCharacterToInput(
input: string,
mode: PromptInputMode,
): string {
switch (mode) {
case 'bash':
return `!${input}`
default:
return input
}
}
export function getModeFromInput(input: string): HistoryMode {
if (input.startsWith('!')) {
return 'bash'
}
return 'prompt'
}
export function getValueFromInput(input: string): string {
const mode = getModeFromInput(input)
if (mode === 'prompt') {
return input
}
return input.slice(1)
}
export function isInputModeCharacter(input: string): boolean {
return input === '!'
}