From 0d11ca306a2a12c329300b9d597cecb202464a2c Mon Sep 17 00:00:00 2001 From: liam-duan <93059008+liam-duan@users.noreply.github.com> Date: Sun, 27 Aug 2023 05:10:40 -0600 Subject: [PATCH] Update raw_editor.dart --- lib/src/widgets/raw_editor.dart | 54 +++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/lib/src/widgets/raw_editor.dart b/lib/src/widgets/raw_editor.dart index 87a938bc..21da3cb3 100644 --- a/lib/src/widgets/raw_editor.dart +++ b/lib/src/widgets/raw_editor.dart @@ -721,35 +721,43 @@ class RawEditorState extends EditorState return KeyEventResult.ignored; } - KeyEventResult _handleSpaceKey(RawKeyEvent event) { - final child = - controller.document.queryChild(controller.selection.baseOffset); - if (child.node == null) { - return KeyEventResult.ignored; - } +KeyEventResult _handleSpaceKey(RawKeyEvent event) { + try { + final child = + controller.document.queryChild(controller.selection.baseOffset); + if (child.node == null) { + return KeyEventResult.ignored; + } - final line = child.node as Line?; - if (line == null) { - return KeyEventResult.ignored; - } + final line = child.node as Line?; + if (line == null) { + return KeyEventResult.ignored; + } - final text = castOrNull(line.first); - if (text == null) { - return KeyEventResult.ignored; - } + if (line.first == null) { + return KeyEventResult.ignored; + } - const olKeyPhrase = '1.'; - const ulKeyPhrase = '-'; + final text = castOrNull(line.first); + if (text == null) { + return KeyEventResult.ignored; + } - if (text.value == olKeyPhrase) { - _updateSelectionForKeyPhrase(olKeyPhrase, Attribute.ol); - } else if (text.value == ulKeyPhrase) { - _updateSelectionForKeyPhrase(ulKeyPhrase, Attribute.ul); - } else { - return KeyEventResult.ignored; + const olKeyPhrase = '1.'; + const ulKeyPhrase = '-'; + + if (text.value == olKeyPhrase) { + _updateSelectionForKeyPhrase(olKeyPhrase, Attribute.ol); + } else if (text.value == ulKeyPhrase) { + _updateSelectionForKeyPhrase(ulKeyPhrase, Attribute.ul); + } else { + return KeyEventResult.ignored; + } + } catch (e) { + print("Caught exception: $e"); } - return KeyEventResult.handled; + return KeyEventResult.ignored; } KeyEventResult _handleTabKey(RawKeyEvent event) {