MCPcopy Create free account
hub / github.com/Noumena-Network/code / VimTextInput

Function VimTextInput

src/components/VimTextInput.tsx:15–140  ·  view source on GitHub ↗
(props)

Source from the content-addressed store, hash-verified

13 highlights?: TextHighlight[];
14};
15export default function VimTextInput(props) {
16 recordRenderTrace('VimTextInput');
17 const $ = _c(38);
18 const [theme] = useTheme();
19 const terminalFocusRef = useTerminalFocusRef();
20 const isTerminalFocused = terminalFocusRef.current;
21 useClipboardImageHintOnFocus(!!props.onImagePaste);
22 const t0 = props.value;
23 const t1 = props.onChange;
24 const t2 = props.onSubmit;
25 const t3 = props.onExit;
26 const t4 = props.onExitMessage;
27 const t5 = props.onHistoryReset;
28 const t6 = props.onHistoryUp;
29 const t7 = props.onHistoryDown;
30 const t8 = props.onClearInput;
31 const t9 = props.focus;
32 const t10 = props.mask;
33 const t11 = props.multiline;
34 const t12 = props.showCursor ? " " : "";
35 const t13 = props.highlightPastedText;
36 const t14 = isTerminalFocused ? chalk.inverse : _temp;
37 let t15;
38 if ($[0] !== theme) {
39 t15 = color("text", theme);
40 $[0] = theme;
41 $[1] = t15;
42 } else {
43 t15 = $[1];
44 }
45 let t16;
46 if ($[2] !== props.columns || $[3] !== props.cursorOffset || $[4] !== props.disableCursorMovementForUpDownKeys || $[5] !== props.disableEscapeDoublePress || $[6] !== props.focus || $[7] !== props.highlightPastedText || $[8] !== props.inputFilter || $[9] !== props.mask || $[10] !== props.maxVisibleLines || $[11] !== props.multiline || $[12] !== props.onChange || $[13] !== props.onChangeCursorOffset || $[14] !== props.onClearInput || $[15] !== props.onExit || $[16] !== props.onExitMessage || $[17] !== props.onHistoryDown || $[18] !== props.onHistoryReset || $[19] !== props.onHistoryUp || $[20] !== props.onImagePaste || $[21] !== props.onModeChange || $[22] !== props.onSubmit || $[23] !== props.onUndo || $[24] !== props.value || $[25] !== t12 || $[26] !== t14 || $[27] !== t15) {
47 t16 = {
48 value: t0,
49 onChange: t1,
50 onSubmit: t2,
51 onExit: t3,
52 onExitMessage: t4,
53 onHistoryReset: t5,
54 onHistoryUp: t6,
55 onHistoryDown: t7,
56 onClearInput: t8,
57 focus: t9,
58 mask: t10,
59 multiline: t11,
60 cursorChar: t12,
61 highlightPastedText: t13,
62 invert: t14,
63 themeText: t15,
64 columns: props.columns,
65 maxVisibleLines: props.maxVisibleLines,
66 onImagePaste: props.onImagePaste,
67 disableCursorMovementForUpDownKeys: props.disableCursorMovementForUpDownKeys,
68 disableEscapeDoublePress: props.disableEscapeDoublePress,
69 externalOffset: props.cursorOffset,
70 onOffsetChange: props.onChangeCursorOffset,
71 inputFilter: props.inputFilter,
72 onModeChange: props.onModeChange,

Callers

nothing calls this directly

Calls 6

recordRenderTraceFunction · 0.85
useThemeFunction · 0.85
useTerminalFocusRefFunction · 0.85
colorFunction · 0.85
useVimInputFunction · 0.85

Tested by

no test coverage detected