feat(editor): add Tab key support for autocomplete selection

Tab now selects the currently highlighted item in all suggestion lists:
- EmojiSuggestionList (`:emoji` autocomplete)
- ProfileSuggestionList (`@mention` autocomplete)
- SlashCommandSuggestionList (`/command` autocomplete)

This is a common UX pattern that allows faster selection without
reaching for the Enter key.

https://claude.ai/code/session_01YWNAEhjLprna1iWcnQEr1o
This commit is contained in:
Claude
2026-02-02 11:27:19 +00:00
parent 41f5e98aed
commit 4e12131d7c
3 changed files with 12 additions and 3 deletions

View File

@@ -58,7 +58,10 @@ export const EmojiSuggestionList = forwardRef<
return true;
}
if (event.key === "Enter" && !event.ctrlKey && !event.metaKey) {
if (
(event.key === "Enter" && !event.ctrlKey && !event.metaKey) ||
event.key === "Tab"
) {
if (items[selectedIndex]) {
command(items[selectedIndex]);
}

View File

@@ -38,7 +38,10 @@ export const ProfileSuggestionList = forwardRef<
return true;
}
if (event.key === "Enter" && !event.ctrlKey && !event.metaKey) {
if (
(event.key === "Enter" && !event.ctrlKey && !event.metaKey) ||
event.key === "Tab"
) {
if (items[selectedIndex]) {
command(items[selectedIndex]);
}

View File

@@ -38,7 +38,10 @@ export const SlashCommandSuggestionList = forwardRef<
return true;
}
if (event.key === "Enter" && !event.ctrlKey && !event.metaKey) {
if (
(event.key === "Enter" && !event.ctrlKey && !event.metaKey) ||
event.key === "Tab"
) {
if (items[selectedIndex]) {
command(items[selectedIndex]);
}