handleKeyEvent method
Implementation
KeyEventResult handleKeyEvent(KeyEvent key) {
if (showingCompletions && key is KeyDownEvent) {
if (key.logicalKey == LogicalKeyboardKey.arrowUp) {
if (completionItem != 0) {
completionItem -= 1;
} else {
completionItem = currentCompletions!.length - 1;
}
return KeyEventResult.handled;
} else if (key.logicalKey == LogicalKeyboardKey.arrowDown) {
if (completionItem != currentCompletions!.length - 1) {
completionItem += 1;
} else {
completionItem = 0;
}
return KeyEventResult.handled;
} else if (key.logicalKey == LogicalKeyboardKey.escape) {
showingCompletions = false;
return KeyEventResult.handled;
} else if (key.logicalKey == LogicalKeyboardKey.enter) {
onAcceptAndDismiss(
currentCompletions![completionItem].substring(currentWord.length));
return KeyEventResult.handled;
}
return KeyEventResult.ignored;
} else {
return KeyEventResult.ignored;
}
}