Add native keyboard shortcuts for Find+Replace, closes #6468

This commit is contained in:
Tom Moor
2024-02-01 07:49:46 -05:00
parent 92d5a7ee89
commit 2995d8ca29

View File

@@ -150,15 +150,38 @@ export default function FindAndReplace({
const handleKeyDown = React.useCallback(
(ev: React.KeyboardEvent<HTMLInputElement>) => {
if (ev.key === "Enter") {
ev.preventDefault();
function nextPrevious(ev: React.KeyboardEvent<HTMLInputElement>) {
if (ev.shiftKey) {
editor.commands.prevSearchMatch();
} else {
editor.commands.nextSearchMatch();
}
}
function selectInputText() {
inputRef.current?.setSelectionRange(0, inputRef.current?.value.length);
}
switch (ev.key) {
case "Enter": {
ev.preventDefault();
nextPrevious(ev);
return;
}
case "g": {
if (ev.metaKey) {
ev.preventDefault();
nextPrevious(ev);
selectInputText();
}
return;
}
case "F3": {
ev.preventDefault();
nextPrevious(ev);
selectInputText();
return;
}
}
},
[editor.commands]
);