Skip to content

Commit 3795c2d

Browse files
[Super Editor] - Change all newline insertions to use EditRequests (Resolves #2497) (#2500)
1 parent 3a89307 commit 3795c2d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1646
-976
lines changed

attributed_text/lib/src/attributed_text.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@ class AttributedText {
118118

119119
late final String _textWithPlaceholders;
120120

121+
/// Returns the character or placeholder at offset zero.
122+
Object get first => placeholders[0] ?? _text[0];
123+
124+
/// Returns the character or placeholder at the given [offset].
125+
Object operator [](int offset) => placeholders[offset] ?? _text[offset];
126+
127+
/// Returns the character or placeholder at the end of this `AttributedText`.
128+
Object get last => placeholders[length - 1] ?? _text[length - 1];
129+
121130
/// Returns a plain-text version of this `AttributedText`.
122131
///
123132
/// Plain text has no attributions or placeholder objects.

super_editor/clones/quill/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*.swp
66
.DS_Store
77
.atom/
8+
.build/
89
.buildlog/
910
.history
1011
.svn/
12+
.swiftpm/
1113
migrate_working_dir/
1214

1315
# IntelliJ related

super_editor/clones/quill/lib/app.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,16 @@ class _HomeScreenState extends State<HomeScreen> {
4545
Editor.composerKey: _composer,
4646
},
4747
requestHandlers: [
48-
(request) => request is ConvertTextBlockToFormatRequest //
48+
(editor, request) => request is ConvertTextBlockToFormatRequest //
4949
? ConvertTextBlockToFormatCommand(request.blockFormat)
5050
: null,
51-
(request) => request is ToggleInlineFormatRequest //
51+
(editor, request) => request is ToggleInlineFormatRequest //
5252
? ToggleInlineFormatCommand(request.inlineFormat)
5353
: null,
54-
(request) => request is ToggleTextBlockFormatRequest //
54+
(editor, request) => request is ToggleTextBlockFormatRequest //
5555
? ToggleTextBlockFormatCommand(request.blockFormat)
5656
: null,
57-
(request) => request is ClearSelectedStylesRequest //
57+
(editor, request) => request is ClearSelectedStylesRequest //
5858
? const ClearSelectedStylesCommand()
5959
: null,
6060
...defaultRequestHandlers,

super_editor/clones/quill/lib/editor/editor.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,9 +614,11 @@ ExecutionInstruction enterToInsertNewlineInCodeBlock({
614614
return ExecutionInstruction.continueExecution;
615615
}
616616

617-
final didInsertNewline = editContext.commonOps.insertPlainText('\n');
617+
editContext.editor.execute([
618+
InsertNewlineAtCaretRequest(),
619+
]);
618620

619-
return didInsertNewline ? ExecutionInstruction.haltExecution : ExecutionInstruction.continueExecution;
621+
return ExecutionInstruction.haltExecution;
620622
}
621623

622624
enum FeatherTextBlock {

super_editor/clones/quill/macos/Podfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ EXTERNAL SOURCES:
1515

1616
SPEC CHECKSUMS:
1717
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
18-
url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399
18+
url_launcher_macos: de10e46d8d8b9e3a7b8a133e8de92b104379f05e
1919

2020
PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
2121

22-
COCOAPODS: 1.15.2
22+
COCOAPODS: 1.16.2

super_editor/clones/quill/macos/Runner/AppDelegate.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,8 @@ class AppDelegate: FlutterAppDelegate {
66
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
77
return true
88
}
9+
10+
override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
11+
return true
12+
}
913
}

super_editor/clones/quill/pubspec.lock

Lines changed: 70 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,12 @@ packages:
3434
source: hosted
3535
version: "2.11.0"
3636
attributed_text:
37-
dependency: transitive
37+
dependency: "direct overridden"
3838
description:
39-
name: attributed_text
40-
sha256: "4bc7baf5133c2369bb82324ddd82c167a9d665dc8f610be378f0aa5f074317f9"
41-
url: "https://pub.dev"
42-
source: hosted
43-
version: "0.3.2"
39+
path: "../../../attributed_text"
40+
relative: true
41+
source: path
42+
version: "0.4.0"
4443
boolean_selector:
4544
dependency: transitive
4645
description:
@@ -57,14 +56,6 @@ packages:
5756
url: "https://pub.dev"
5857
source: hosted
5958
version: "1.3.0"
60-
charcode:
61-
dependency: transitive
62-
description:
63-
name: charcode
64-
sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
65-
url: "https://pub.dev"
66-
source: hosted
67-
version: "1.3.1"
6859
clock:
6960
dependency: transitive
7061
description:
@@ -77,10 +68,10 @@ packages:
7768
dependency: "direct main"
7869
description:
7970
name: collection
80-
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
71+
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
8172
url: "https://pub.dev"
8273
source: hosted
83-
version: "1.18.0"
74+
version: "1.19.0"
8475
convert:
8576
dependency: transitive
8677
description:
@@ -163,6 +154,14 @@ packages:
163154
url: "https://pub.dev"
164155
source: hosted
165156
version: "0.0.24"
157+
flutter_test_runners:
158+
dependency: transitive
159+
description:
160+
name: flutter_test_runners
161+
sha256: cc575117ed66a79185a26995399d7048341517a1bd21188cb43753739627832d
162+
url: "https://pub.dev"
163+
source: hosted
164+
version: "0.0.4"
166165
flutter_web_plugins:
167166
dependency: transitive
168167
description: flutter
@@ -196,10 +195,10 @@ packages:
196195
dependency: transitive
197196
description:
198197
name: http
199-
sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
198+
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
200199
url: "https://pub.dev"
201200
source: hosted
202-
version: "1.2.1"
201+
version: "1.2.2"
203202
http_multi_server:
204203
dependency: transitive
205204
description:
@@ -236,18 +235,18 @@ packages:
236235
dependency: transitive
237236
description:
238237
name: leak_tracker
239-
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
238+
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
240239
url: "https://pub.dev"
241240
source: hosted
242-
version: "10.0.5"
241+
version: "10.0.7"
243242
leak_tracker_flutter_testing:
244243
dependency: transitive
245244
description:
246245
name: leak_tracker_flutter_testing
247-
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
246+
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
248247
url: "https://pub.dev"
249248
source: hosted
250-
version: "3.0.5"
249+
version: "3.0.8"
251250
leak_tracker_testing:
252251
dependency: transitive
253252
description:
@@ -276,18 +275,18 @@ packages:
276275
dependency: transitive
277276
description:
278277
name: logging
279-
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
278+
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
280279
url: "https://pub.dev"
281280
source: hosted
282-
version: "1.2.0"
281+
version: "1.3.0"
283282
markdown:
284283
dependency: transitive
285284
description:
286285
name: markdown
287-
sha256: "39caf989ccc72c63e87b961851a74257141938599ed2db45fbd9403fee0db423"
286+
sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051
288287
url: "https://pub.dev"
289288
source: hosted
290-
version: "5.0.0"
289+
version: "7.2.2"
291290
matcher:
292291
dependency: transitive
293292
description:
@@ -412,7 +411,7 @@ packages:
412411
dependency: transitive
413412
description: flutter
414413
source: sdk
415-
version: "0.0.99"
414+
version: "0.0.0"
416415
source_map_stack_trace:
417416
dependency: transitive
418417
description:
@@ -449,10 +448,10 @@ packages:
449448
dependency: transitive
450449
description:
451450
name: stack_trace
452-
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
451+
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
453452
url: "https://pub.dev"
454453
source: hosted
455-
version: "1.11.1"
454+
version: "1.12.0"
456455
stream_channel:
457456
dependency: transitive
458457
description:
@@ -465,32 +464,46 @@ packages:
465464
dependency: transitive
466465
description:
467466
name: string_scanner
468-
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
467+
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
469468
url: "https://pub.dev"
470469
source: hosted
471-
version: "1.2.0"
470+
version: "1.3.0"
472471
super_editor:
473472
dependency: "direct main"
474473
description:
475474
path: "../.."
476475
relative: true
477476
source: path
478-
version: "0.3.0-dev.1"
477+
version: "0.3.0-dev.12"
479478
super_editor_markdown:
480479
dependency: "direct main"
481480
description:
482481
path: "../../../super_editor_markdown"
483482
relative: true
484483
source: path
485-
version: "0.1.5"
486-
super_text_layout:
484+
version: "0.1.6"
485+
super_editor_quill:
486+
dependency: "direct main"
487+
description:
488+
path: "../../../super_editor_quill"
489+
relative: true
490+
source: path
491+
version: "0.1.0-dev.7"
492+
super_keyboard:
487493
dependency: transitive
488494
description:
489-
name: super_text_layout
490-
sha256: "81241d2715190079743c693206381d79958b92366012e0a19a06a801844cda09"
495+
name: super_keyboard
496+
sha256: c8e303cd7bc1fc62732213f0f2660273a078be23eae7a4219d0ab3dd0b0ccb9a
491497
url: "https://pub.dev"
492498
source: hosted
493-
version: "0.1.10"
499+
version: "0.1.0"
500+
super_text_layout:
501+
dependency: transitive
502+
description:
503+
path: "../../../super_text_layout"
504+
relative: true
505+
source: path
506+
version: "0.1.17"
494507
term_glyph:
495508
dependency: transitive
496509
description:
@@ -503,23 +516,31 @@ packages:
503516
dependency: transitive
504517
description:
505518
name: test
506-
sha256: d11b55850c68c1f6c0cf00eabded4e66c4043feaf6c0d7ce4a36785137df6331
519+
sha256: "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f"
507520
url: "https://pub.dev"
508521
source: hosted
509-
version: "1.25.5"
522+
version: "1.25.8"
510523
test_api:
511524
dependency: transitive
512525
description:
513526
name: test_api
514-
sha256: "2419f20b0c8677b2d67c8ac4d1ac7372d862dc6c460cdbb052b40155408cd794"
527+
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
515528
url: "https://pub.dev"
516529
source: hosted
517-
version: "0.7.1"
530+
version: "0.7.3"
518531
test_core:
519532
dependency: transitive
520533
description:
521534
name: test_core
522-
sha256: "4d070a6bc36c1c4e89f20d353bfd71dc30cdf2bd0e14349090af360a029ab292"
535+
sha256: "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d"
536+
url: "https://pub.dev"
537+
source: hosted
538+
version: "0.6.5"
539+
text_table:
540+
dependency: transitive
541+
description:
542+
name: text_table
543+
sha256: a42b35675be614274b884ee482d4bdf4bdf707bc65de18cb8f1ad288c1beb1f4
523544
url: "https://pub.dev"
524545
source: hosted
525546
version: "0.6.2"
@@ -535,10 +556,10 @@ packages:
535556
dependency: transitive
536557
description:
537558
name: url_launcher
538-
sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3"
559+
sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
539560
url: "https://pub.dev"
540561
source: hosted
541-
version: "6.3.0"
562+
version: "6.3.1"
542563
url_launcher_android:
543564
dependency: transitive
544565
description:
@@ -599,10 +620,10 @@ packages:
599620
dependency: transitive
600621
description:
601622
name: uuid
602-
sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8"
623+
sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
603624
url: "https://pub.dev"
604625
source: hosted
605-
version: "4.4.0"
626+
version: "4.5.1"
606627
vector_math:
607628
dependency: transitive
608629
description:
@@ -615,10 +636,10 @@ packages:
615636
dependency: transitive
616637
description:
617638
name: vm_service
618-
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
639+
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
619640
url: "https://pub.dev"
620641
source: hosted
621-
version: "14.2.1"
642+
version: "14.3.0"
622643
watcher:
623644
dependency: transitive
624645
description:
@@ -660,5 +681,5 @@ packages:
660681
source: hosted
661682
version: "3.1.2"
662683
sdks:
663-
dart: ">=3.3.0 <4.0.0"
684+
dart: ">=3.5.0 <4.0.0"
664685
flutter: ">=3.19.0"

super_editor/clones/quill/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ dependency_overrides:
3030
path: ../../../super_editor_markdown
3131
super_text_layout:
3232
path: ../../../super_text_layout
33+
attributed_text:
34+
path: ../../../attributed_text
3335

3436
dev_dependencies:
3537
flutter_test:

0 commit comments

Comments
 (0)