MCPcopy Create free account
hub / github.com/claude-code-best/claude-code / VimTextInput

Function VimTextInput

src/components/VimTextInput.tsx:14–68  ·  view source on GitHub ↗
(props: Props)

Source from the content-addressed store, hash-verified

12};
13
14export default function VimTextInput(props: Props): React.ReactNode {
15 const [theme] = useTheme();
16 const isTerminalFocused = useTerminalFocus();
17
18 // Show hint when terminal regains focus and clipboard has an image
19 useClipboardImageHint(isTerminalFocused, !!props.onImagePaste);
20
21 const vimInputState = useVimInput({
22 value: props.value,
23 onChange: props.onChange,
24 onSubmit: props.onSubmit,
25 onExit: props.onExit,
26 onExitMessage: props.onExitMessage,
27 onHistoryReset: props.onHistoryReset,
28 onHistoryUp: props.onHistoryUp,
29 onHistoryDown: props.onHistoryDown,
30 onClearInput: props.onClearInput,
31 focus: props.focus,
32 mask: props.mask,
33 multiline: props.multiline,
34 cursorChar: props.showCursor ? ' ' : '',
35 highlightPastedText: props.highlightPastedText,
36 invert: isTerminalFocused ? chalk.inverse : (text: string) => text,
37 themeText: color('text', theme),
38 columns: props.columns,
39 maxVisibleLines: props.maxVisibleLines,
40 onImagePaste: props.onImagePaste,
41 disableCursorMovementForUpDownKeys: props.disableCursorMovementForUpDownKeys,
42 disableEscapeDoublePress: props.disableEscapeDoublePress,
43 externalOffset: props.cursorOffset,
44 onOffsetChange: props.onChangeCursorOffset,
45 inputFilter: props.inputFilter,
46 onModeChange: props.onModeChange,
47 onUndo: props.onUndo,
48 });
49
50 const { mode, setMode } = vimInputState;
51
52 React.useEffect(() => {
53 if (props.initialMode && props.initialMode !== mode) {
54 setMode(props.initialMode);
55 }
56 }, [props.initialMode, mode, setMode]);
57
58 return (
59 <Box flexDirection="column">
60 <BaseTextInput
61 inputState={vimInputState}
62 terminalFocus={isTerminalFocused}
63 highlights={props.highlights}
64 {...props}
65 />
66 </Box>
67 );
68}

Callers

nothing calls this directly

Calls 5

useThemeFunction · 0.90
useTerminalFocusFunction · 0.90
colorFunction · 0.90
useClipboardImageHintFunction · 0.85
useVimInputFunction · 0.85

Tested by

no test coverage detected