Paste or complete a project path to start.
{pathInput}
{suggestionTail}
setPathInput(event.target.value)}
onKeyDown={(event) => {
if (event.key === "ArrowDown") {
if (matchList.length > 0) {
event.preventDefault();
setSelectedMatch((prev) => (prev + 1) % matchList.length);
}
} else if (event.key === "ArrowUp") {
if (matchList.length > 0) {
event.preventDefault();
setSelectedMatch(
(prev) =>
(prev - 1 + matchList.length) % matchList.length,
);
}
} else if (event.key === "Tab") {
if (matchList.length > 0) {
event.preventDefault();
const next = matchList[selectedMatch]?.path;
if (next) {
setPathInput(next);
}
}
} else if (event.key === "Escape") {
event.preventDefault();
setMatchList([]);
setSelectedMatch(0);
setSuggestion(null);
setSuggestionTail("");
setCompletionError(null);
} else if (event.key === "Enter") {
handleOpen();
}
}}
style={{
width: "100%",
padding: "10px",
fontFamily: "monospace",
background: "transparent",
position: "relative",
zIndex: 1,
}}
/>
{matchList.length > 0 && (
{matchList.map((match, index) => {
const isSelected = index === selectedMatch;
return (
);
})}
)}