Squash the current repository state back into one baseline commit while preserving the README reframing and repository contents. Constraint: User explicitly requested a single squashed commit with subject "asdf" Confidence: high Scope-risk: broad Reversibility: clean Directive: This commit intentionally rewrites published history; coordinate before future force-pushes Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr Not-tested: Fresh clone verification after push
34 lines
731 B
TypeScript
34 lines
731 B
TypeScript
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 === '!'
|
|
}
|