@blankdotpage/cake 0.1.77 → 0.1.79-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cake/core/runtime.d.ts.map +1 -1
- package/dist/cake/core/runtime.js +63 -432
- package/dist/cake/editor/cake-editor.d.ts +2 -0
- package/dist/cake/editor/cake-editor.d.ts.map +1 -1
- package/dist/cake/editor/cake-editor.js +48 -4
- package/dist/cake/extensions/bold/bold.d.ts.map +1 -1
- package/dist/cake/extensions/bold/bold.js +3 -14
- package/dist/cake/extensions/heading/heading.d.ts.map +1 -1
- package/dist/cake/extensions/heading/heading.js +1 -1
- package/dist/cake/extensions/italic/italic.d.ts +1 -7
- package/dist/cake/extensions/italic/italic.d.ts.map +1 -1
- package/dist/cake/extensions/italic/italic.js +21 -91
- package/dist/cake/extensions/list/list.d.ts.map +1 -1
- package/dist/cake/extensions/list/list.js +56 -9
- package/dist/cake/react/index.d.ts +0 -1
- package/dist/cake/react/index.d.ts.map +1 -1
- package/dist/cake/react/index.js +1 -5
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cake/core/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EACL,GAAG,EACH,MAAM,EACN,cAAc,EACd,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,KAAK,gBAAgB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1D,KAAK,iBAAiB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAAC;AACvD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,eAAe,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,eAAe,CAAA;CAAE,CAAC;AAE7E,qBAAqB;AACrB,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B,8DAA8D;AAC9D,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC;AAEb,gDAAgD;AAChD,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE7D,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,IAAI,qBAAqB,CASlC;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,GACnB,OAAO,IAAI,gBAAgB,CAQ7B;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,WAAW,GAAG,IAAI,CAAC,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACtE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,qBAAqB,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,oBAAoB,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,KACtB,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,KACtB,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,KAC9C,MAAM,GAAG,IAAI,CAAC;AAEnB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,mCAAmC,KACzC,kCAAkC,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE;QACH,eAAe,EAAE,iBAAiB,EAAE,CAAC;QACrC,cAAc,EAAE,gBAAgB,EAAE,CAAC;KACpC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,eAAe,CAAA;KAAE,CAAC;IAC9D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACjE,kBAAkB,CAChB,GAAG,EAAE,GAAG,EACR,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,YAAY,CAAC;QAAC,IAAI,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE,GACxE,YAAY,CAAC;IAChB,eAAe,CACb,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;KAAE,GACvD,YAAY,CAAC;IAChB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;IACtE,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5E,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAAC;CACpE,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cake/core/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,6 @@ export function isApplyEditCommand(command) {
|
|
|
19
19
|
command.type === "delete-forward");
|
|
20
20
|
}
|
|
21
21
|
const defaultSelection = { start: 0, end: 0, affinity: "forward" };
|
|
22
|
-
const WORD_CHARACTER_PATTERN = /[\p{L}\p{N}_]/u;
|
|
23
22
|
function removeFromArray(arr, value) {
|
|
24
23
|
const index = arr.indexOf(value);
|
|
25
24
|
if (index === -1) {
|
|
@@ -360,17 +359,13 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
360
359
|
}
|
|
361
360
|
content.push(normalizedInline);
|
|
362
361
|
}
|
|
363
|
-
const mergedContent = mergeAdjacentInlines(content);
|
|
364
|
-
if (mergedContent !== content) {
|
|
365
|
-
changed = true;
|
|
366
|
-
}
|
|
367
362
|
if (!changed) {
|
|
368
363
|
normalizedBlockCache.set(block, next);
|
|
369
364
|
return next;
|
|
370
365
|
}
|
|
371
366
|
const normalized = {
|
|
372
367
|
...next,
|
|
373
|
-
content
|
|
368
|
+
content,
|
|
374
369
|
};
|
|
375
370
|
normalizedBlockCache.set(block, normalized);
|
|
376
371
|
return normalized;
|
|
@@ -426,52 +421,17 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
426
421
|
}
|
|
427
422
|
let next = pre;
|
|
428
423
|
if (next.type === "inline-wrapper") {
|
|
429
|
-
const children = mergeAdjacentInlines(next.children
|
|
430
|
-
.map((child) => normalizeInline(child))
|
|
431
|
-
.filter((child) => child !== null));
|
|
432
424
|
next = {
|
|
433
425
|
...next,
|
|
434
|
-
children
|
|
426
|
+
children: next.children
|
|
427
|
+
.map((child) => normalizeInline(child))
|
|
428
|
+
.filter((child) => child !== null),
|
|
435
429
|
};
|
|
436
430
|
}
|
|
437
431
|
const normalized = applyInlineNormalizers(next);
|
|
438
432
|
normalizedInlineCache.set(inline, normalized ?? removedInlineSentinel);
|
|
439
433
|
return normalized;
|
|
440
434
|
}
|
|
441
|
-
function mergeAdjacentInlines(inlines) {
|
|
442
|
-
if (inlines.length < 2) {
|
|
443
|
-
return inlines;
|
|
444
|
-
}
|
|
445
|
-
const merged = [];
|
|
446
|
-
let changed = false;
|
|
447
|
-
for (const inline of inlines) {
|
|
448
|
-
const previous = merged[merged.length - 1];
|
|
449
|
-
if (previous?.type === "text" && inline.type === "text") {
|
|
450
|
-
merged[merged.length - 1] = {
|
|
451
|
-
...previous,
|
|
452
|
-
text: previous.text + inline.text,
|
|
453
|
-
};
|
|
454
|
-
changed = true;
|
|
455
|
-
continue;
|
|
456
|
-
}
|
|
457
|
-
if (previous?.type === "inline-wrapper" &&
|
|
458
|
-
inline.type === "inline-wrapper" &&
|
|
459
|
-
previous.kind === inline.kind &&
|
|
460
|
-
stableStringify(previous.data) === stableStringify(inline.data)) {
|
|
461
|
-
merged[merged.length - 1] = {
|
|
462
|
-
...previous,
|
|
463
|
-
children: mergeAdjacentInlines([
|
|
464
|
-
...previous.children,
|
|
465
|
-
...inline.children,
|
|
466
|
-
]),
|
|
467
|
-
};
|
|
468
|
-
changed = true;
|
|
469
|
-
continue;
|
|
470
|
-
}
|
|
471
|
-
merged.push(inline);
|
|
472
|
-
}
|
|
473
|
-
return changed ? merged : inlines;
|
|
474
|
-
}
|
|
475
435
|
function createTopLevelBlockSegment(block) {
|
|
476
436
|
const serialized = serializeBlock(block);
|
|
477
437
|
return {
|
|
@@ -623,15 +583,9 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
623
583
|
? previousSegmented
|
|
624
584
|
: undefined;
|
|
625
585
|
const segmented = buildSegmentedDocState(normalized, reusablePrevious);
|
|
626
|
-
const cursorLength = segmented.map.cursorLength;
|
|
627
|
-
const clampedSelection = {
|
|
628
|
-
...selection,
|
|
629
|
-
start: Math.max(0, Math.min(cursorLength, selection.start)),
|
|
630
|
-
end: Math.max(0, Math.min(cursorLength, selection.end)),
|
|
631
|
-
};
|
|
632
586
|
return {
|
|
633
587
|
source: segmented.source,
|
|
634
|
-
selection
|
|
588
|
+
selection,
|
|
635
589
|
map: segmented.map,
|
|
636
590
|
doc: normalized,
|
|
637
591
|
runtime: runtime,
|
|
@@ -783,8 +737,7 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
783
737
|
previousState: useIncrementalSegmentedDerivation ? state : undefined,
|
|
784
738
|
});
|
|
785
739
|
const interimAffinity = structural.nextAffinity ?? "forward";
|
|
786
|
-
const
|
|
787
|
-
const caretSource = interim.map.cursorToSource(interimCursor, interimAffinity);
|
|
740
|
+
const caretSource = interim.map.cursorToSource(structural.nextCursor, interimAffinity);
|
|
788
741
|
if (useIncrementalSegmentedDerivation) {
|
|
789
742
|
const caretCursor = interim.map.sourceToCursor(caretSource, interimAffinity);
|
|
790
743
|
return {
|
|
@@ -871,27 +824,6 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
871
824
|
replaceText.length > 0 &&
|
|
872
825
|
range.start === range.end &&
|
|
873
826
|
textModel.getGraphemeAtCursor(range.start) === "\u200B";
|
|
874
|
-
if (command.type === "insert" && shouldReplacePlaceholder) {
|
|
875
|
-
const leadingWhitespace = replaceText.match(/^\s+/)?.[0] ?? "";
|
|
876
|
-
const around = marksAroundCursor(doc, range.start);
|
|
877
|
-
if (leadingWhitespace.length > 0) {
|
|
878
|
-
if (isMarksPrefix(around.left, around.right) &&
|
|
879
|
-
around.right.length > around.left.length) {
|
|
880
|
-
const whitespaceInsert = insertTextBeforePendingPlaceholderInDoc(doc, range.start, leadingWhitespace, around.left);
|
|
881
|
-
if (whitespaceInsert) {
|
|
882
|
-
const trailingText = replaceText.slice(leadingWhitespace.length);
|
|
883
|
-
if (trailingText.length === 0) {
|
|
884
|
-
return whitespaceInsert;
|
|
885
|
-
}
|
|
886
|
-
return applyStructuralEdit({ type: "insert", text: trailingText }, whitespaceInsert.doc, {
|
|
887
|
-
start: whitespaceInsert.nextCursor,
|
|
888
|
-
end: whitespaceInsert.nextCursor,
|
|
889
|
-
affinity: whitespaceInsert.nextAffinity,
|
|
890
|
-
});
|
|
891
|
-
}
|
|
892
|
-
}
|
|
893
|
-
}
|
|
894
|
-
}
|
|
895
827
|
const effectiveRange = shouldReplacePlaceholder
|
|
896
828
|
? { start: range.start, end: Math.min(docCursorLength, range.start + 1) }
|
|
897
829
|
: range;
|
|
@@ -1244,28 +1176,6 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
1244
1176
|
}
|
|
1245
1177
|
return true;
|
|
1246
1178
|
}
|
|
1247
|
-
function removeMarkByKind(marks, kind) {
|
|
1248
|
-
let removed = false;
|
|
1249
|
-
return marks.filter((mark) => {
|
|
1250
|
-
if (!removed && mark.kind === kind) {
|
|
1251
|
-
removed = true;
|
|
1252
|
-
return false;
|
|
1253
|
-
}
|
|
1254
|
-
return true;
|
|
1255
|
-
});
|
|
1256
|
-
}
|
|
1257
|
-
function mergeMarksPreservingOrder(...groups) {
|
|
1258
|
-
const next = [];
|
|
1259
|
-
for (const group of groups) {
|
|
1260
|
-
for (const mark of group) {
|
|
1261
|
-
if (next.some((existing) => existing.key === mark.key)) {
|
|
1262
|
-
continue;
|
|
1263
|
-
}
|
|
1264
|
-
next.push(mark);
|
|
1265
|
-
}
|
|
1266
|
-
}
|
|
1267
|
-
return next;
|
|
1268
|
-
}
|
|
1269
1179
|
function sliceRuns(runs, startCursor, endCursor) {
|
|
1270
1180
|
const [left, rest] = splitRunsAt(runs, startCursor);
|
|
1271
1181
|
const [selected, right] = splitRunsAt(rest, Math.max(0, endCursor - startCursor));
|
|
@@ -1374,237 +1284,6 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
1374
1284
|
const right = marksAtGraphemeIndex(runs, loc.offsetInLine);
|
|
1375
1285
|
return { left: left ?? [], right: right ?? [] };
|
|
1376
1286
|
}
|
|
1377
|
-
function createPendingPlaceholderStateAtCursor(state, cursorOffset, marks) {
|
|
1378
|
-
const textModel = getEditorTextModelForDoc(state.doc);
|
|
1379
|
-
const lines = textModel.getStructuralLines();
|
|
1380
|
-
const loc = textModel.resolveOffsetToLine(cursorOffset);
|
|
1381
|
-
const line = lines[loc.lineIndex];
|
|
1382
|
-
if (!line) {
|
|
1383
|
-
return null;
|
|
1384
|
-
}
|
|
1385
|
-
const block = getBlockAtPath(state.doc.blocks, line.path);
|
|
1386
|
-
if (!block || block.type !== "paragraph") {
|
|
1387
|
-
return null;
|
|
1388
|
-
}
|
|
1389
|
-
const placeholder = "\u200B";
|
|
1390
|
-
const runs = paragraphToRuns(block);
|
|
1391
|
-
const { before, after } = sliceRuns(runs, loc.offsetInLine, loc.offsetInLine);
|
|
1392
|
-
const mergedRuns = normalizeRuns([
|
|
1393
|
-
...before,
|
|
1394
|
-
{ type: "text", text: placeholder, marks },
|
|
1395
|
-
...after,
|
|
1396
|
-
]);
|
|
1397
|
-
const nextBlock = {
|
|
1398
|
-
...block,
|
|
1399
|
-
content: runsToInlines(mergedRuns),
|
|
1400
|
-
};
|
|
1401
|
-
const parentPath = line.path.slice(0, -1);
|
|
1402
|
-
const indexInParent = line.path[line.path.length - 1] ?? 0;
|
|
1403
|
-
const nextDoc = {
|
|
1404
|
-
...state.doc,
|
|
1405
|
-
blocks: updateBlocksAtPath(state.doc.blocks, parentPath, (blocks) => blocks.map((child, index) => index === indexInParent ? nextBlock : child)),
|
|
1406
|
-
};
|
|
1407
|
-
const next = createStateFromDoc(nextDoc);
|
|
1408
|
-
const sourceHint = state.map.cursorToSource(cursorOffset, "backward");
|
|
1409
|
-
const searchStart = Math.max(0, sourceHint - 4);
|
|
1410
|
-
const placeholderStart = next.source.indexOf(placeholder, searchStart) ?? -1;
|
|
1411
|
-
const resolvedPlaceholderStart = placeholderStart !== -1 ? placeholderStart : next.source.indexOf(placeholder);
|
|
1412
|
-
if (resolvedPlaceholderStart === -1) {
|
|
1413
|
-
return null;
|
|
1414
|
-
}
|
|
1415
|
-
const startCursor = next.map.sourceToCursor(resolvedPlaceholderStart, "forward");
|
|
1416
|
-
return {
|
|
1417
|
-
...next,
|
|
1418
|
-
selection: {
|
|
1419
|
-
start: startCursor.cursorOffset,
|
|
1420
|
-
end: startCursor.cursorOffset,
|
|
1421
|
-
affinity: "forward",
|
|
1422
|
-
},
|
|
1423
|
-
};
|
|
1424
|
-
}
|
|
1425
|
-
function rewritePendingPlaceholderAtCursor(state, cursorOffset, marks) {
|
|
1426
|
-
const textModel = getEditorTextModelForDoc(state.doc);
|
|
1427
|
-
const lines = textModel.getStructuralLines();
|
|
1428
|
-
const loc = textModel.resolveOffsetToLine(cursorOffset);
|
|
1429
|
-
const line = lines[loc.lineIndex];
|
|
1430
|
-
if (!line) {
|
|
1431
|
-
return null;
|
|
1432
|
-
}
|
|
1433
|
-
const block = getBlockAtPath(state.doc.blocks, line.path);
|
|
1434
|
-
if (!block || block.type !== "paragraph") {
|
|
1435
|
-
return null;
|
|
1436
|
-
}
|
|
1437
|
-
const placeholder = "\u200B";
|
|
1438
|
-
const runs = paragraphToRuns(block);
|
|
1439
|
-
const { before, after } = sliceRuns(runs, loc.offsetInLine, loc.offsetInLine);
|
|
1440
|
-
const replacement = [];
|
|
1441
|
-
const firstAfter = after[0];
|
|
1442
|
-
if (firstAfter?.type === "text" && firstAfter.text.startsWith(placeholder)) {
|
|
1443
|
-
if (marks && marks.length > 0) {
|
|
1444
|
-
replacement.push({ type: "text", text: placeholder, marks });
|
|
1445
|
-
}
|
|
1446
|
-
if (firstAfter.text.length > placeholder.length) {
|
|
1447
|
-
replacement.push({
|
|
1448
|
-
...firstAfter,
|
|
1449
|
-
text: firstAfter.text.slice(placeholder.length),
|
|
1450
|
-
});
|
|
1451
|
-
}
|
|
1452
|
-
replacement.push(...after.slice(1));
|
|
1453
|
-
}
|
|
1454
|
-
else {
|
|
1455
|
-
const lastBefore = before[before.length - 1];
|
|
1456
|
-
if (lastBefore?.type !== "text" ||
|
|
1457
|
-
!lastBefore.text.endsWith(placeholder)) {
|
|
1458
|
-
return null;
|
|
1459
|
-
}
|
|
1460
|
-
const prefix = lastBefore.text.slice(0, -placeholder.length);
|
|
1461
|
-
if (prefix) {
|
|
1462
|
-
replacement.push({ ...lastBefore, text: prefix });
|
|
1463
|
-
}
|
|
1464
|
-
if (marks && marks.length > 0) {
|
|
1465
|
-
replacement.push({ type: "text", text: placeholder, marks });
|
|
1466
|
-
}
|
|
1467
|
-
replacement.push(...after);
|
|
1468
|
-
before.pop();
|
|
1469
|
-
}
|
|
1470
|
-
const mergedRuns = normalizeRuns([...before, ...replacement]);
|
|
1471
|
-
const nextBlock = {
|
|
1472
|
-
...block,
|
|
1473
|
-
content: runsToInlines(mergedRuns),
|
|
1474
|
-
};
|
|
1475
|
-
const parentPath = line.path.slice(0, -1);
|
|
1476
|
-
const indexInParent = line.path[line.path.length - 1] ?? 0;
|
|
1477
|
-
const nextDoc = {
|
|
1478
|
-
...state.doc,
|
|
1479
|
-
blocks: updateBlocksAtPath(state.doc.blocks, parentPath, (blocks) => blocks.map((child, index) => index === indexInParent ? nextBlock : child)),
|
|
1480
|
-
};
|
|
1481
|
-
const next = createStateFromDoc(nextDoc);
|
|
1482
|
-
return {
|
|
1483
|
-
...next,
|
|
1484
|
-
selection: {
|
|
1485
|
-
start: cursorOffset,
|
|
1486
|
-
end: cursorOffset,
|
|
1487
|
-
affinity: marks && marks.length > 0 ? "forward" : "backward",
|
|
1488
|
-
},
|
|
1489
|
-
};
|
|
1490
|
-
}
|
|
1491
|
-
function updatePendingPlaceholderMarksAtCursor(state, cursorOffset, marks) {
|
|
1492
|
-
return rewritePendingPlaceholderAtCursor(state, cursorOffset, marks);
|
|
1493
|
-
}
|
|
1494
|
-
function removePendingPlaceholderAtCursor(state, cursorOffset) {
|
|
1495
|
-
return rewritePendingPlaceholderAtCursor(state, cursorOffset, null);
|
|
1496
|
-
}
|
|
1497
|
-
function getPendingPlaceholderMarksAtCursor(state, cursorOffset) {
|
|
1498
|
-
const textModel = getEditorTextModelForDoc(state.doc);
|
|
1499
|
-
const lines = textModel.getStructuralLines();
|
|
1500
|
-
const loc = textModel.resolveOffsetToLine(cursorOffset);
|
|
1501
|
-
const line = lines[loc.lineIndex];
|
|
1502
|
-
if (!line) {
|
|
1503
|
-
return null;
|
|
1504
|
-
}
|
|
1505
|
-
const block = getBlockAtPath(state.doc.blocks, line.path);
|
|
1506
|
-
if (!block || block.type !== "paragraph") {
|
|
1507
|
-
return null;
|
|
1508
|
-
}
|
|
1509
|
-
const placeholder = "\u200B";
|
|
1510
|
-
const runs = paragraphToRuns(block);
|
|
1511
|
-
const { before, after } = sliceRuns(runs, loc.offsetInLine, loc.offsetInLine);
|
|
1512
|
-
const firstAfter = after[0];
|
|
1513
|
-
if (firstAfter?.type === "text" && firstAfter.text.startsWith(placeholder)) {
|
|
1514
|
-
return firstAfter.marks;
|
|
1515
|
-
}
|
|
1516
|
-
const lastBefore = before[before.length - 1];
|
|
1517
|
-
if (lastBefore?.type === "text" &&
|
|
1518
|
-
lastBefore.text.endsWith(placeholder)) {
|
|
1519
|
-
return lastBefore.marks;
|
|
1520
|
-
}
|
|
1521
|
-
return null;
|
|
1522
|
-
}
|
|
1523
|
-
function insertTextBeforePendingPlaceholderInDoc(doc, cursorOffset, text, marks) {
|
|
1524
|
-
const textModel = getEditorTextModelForDoc(doc);
|
|
1525
|
-
const lines = textModel.getStructuralLines();
|
|
1526
|
-
const loc = textModel.resolveOffsetToLine(cursorOffset);
|
|
1527
|
-
const line = lines[loc.lineIndex];
|
|
1528
|
-
if (!line) {
|
|
1529
|
-
return null;
|
|
1530
|
-
}
|
|
1531
|
-
const block = getBlockAtPath(doc.blocks, line.path);
|
|
1532
|
-
if (!block || block.type !== "paragraph") {
|
|
1533
|
-
return null;
|
|
1534
|
-
}
|
|
1535
|
-
const placeholder = "\u200B";
|
|
1536
|
-
const runs = paragraphToRuns(block);
|
|
1537
|
-
const { before, after } = sliceRuns(runs, loc.offsetInLine, loc.offsetInLine);
|
|
1538
|
-
const firstAfter = after[0];
|
|
1539
|
-
if (firstAfter?.type !== "text" ||
|
|
1540
|
-
!firstAfter.text.startsWith(placeholder)) {
|
|
1541
|
-
return null;
|
|
1542
|
-
}
|
|
1543
|
-
const mergedRuns = normalizeRuns([
|
|
1544
|
-
...before,
|
|
1545
|
-
...(text.length > 0 ? [{ type: "text", text, marks }] : []),
|
|
1546
|
-
firstAfter,
|
|
1547
|
-
...after.slice(1),
|
|
1548
|
-
]);
|
|
1549
|
-
const nextBlock = {
|
|
1550
|
-
...block,
|
|
1551
|
-
content: runsToInlines(mergedRuns),
|
|
1552
|
-
};
|
|
1553
|
-
const parentPath = line.path.slice(0, -1);
|
|
1554
|
-
const indexInParent = line.path[line.path.length - 1] ?? 0;
|
|
1555
|
-
const nextDoc = {
|
|
1556
|
-
...doc,
|
|
1557
|
-
blocks: updateBlocksAtPath(doc.blocks, parentPath, (blocks) => blocks.map((child, index) => index === indexInParent ? nextBlock : child)),
|
|
1558
|
-
};
|
|
1559
|
-
return {
|
|
1560
|
-
doc: nextDoc,
|
|
1561
|
-
nextCursor: cursorOffset + Array.from(graphemeSegments(text)).length,
|
|
1562
|
-
nextAffinity: "forward",
|
|
1563
|
-
};
|
|
1564
|
-
}
|
|
1565
|
-
function hasInlineMarkerBoundaryBefore(source, markerStart) {
|
|
1566
|
-
if (markerStart <= 0) {
|
|
1567
|
-
return true;
|
|
1568
|
-
}
|
|
1569
|
-
return !WORD_CHARACTER_PATTERN.test(source[markerStart - 1] ?? "");
|
|
1570
|
-
}
|
|
1571
|
-
function pickSafeCollapsedToggleMarkerSpec(params) {
|
|
1572
|
-
const { defaultSpec, source, insertAt, affinity } = params;
|
|
1573
|
-
const candidates = Array.from(toggleMarkerToSpec.values()).filter((spec, index, all) => spec.kind === defaultSpec.kind &&
|
|
1574
|
-
all.findIndex((candidate) => candidate.kind === spec.kind &&
|
|
1575
|
-
candidate.open === spec.open &&
|
|
1576
|
-
candidate.close === spec.close) === index);
|
|
1577
|
-
if (candidates.length <= 1) {
|
|
1578
|
-
return defaultSpec;
|
|
1579
|
-
}
|
|
1580
|
-
const previousChar = source[insertAt - 1] ?? "";
|
|
1581
|
-
const nextChar = source[insertAt] ?? "";
|
|
1582
|
-
let bestSpec = defaultSpec;
|
|
1583
|
-
let bestScore = Number.POSITIVE_INFINITY;
|
|
1584
|
-
for (const spec of candidates) {
|
|
1585
|
-
if (spec.open === "_" &&
|
|
1586
|
-
!hasInlineMarkerBoundaryBefore(source, insertAt)) {
|
|
1587
|
-
continue;
|
|
1588
|
-
}
|
|
1589
|
-
let score = 0;
|
|
1590
|
-
if (previousChar && spec.open[0] === previousChar) {
|
|
1591
|
-
score += affinity === "forward" ? 8 : 3;
|
|
1592
|
-
}
|
|
1593
|
-
if (nextChar &&
|
|
1594
|
-
spec.close[spec.close.length - 1] === nextChar) {
|
|
1595
|
-
score += affinity === "backward" ? 8 : 3;
|
|
1596
|
-
}
|
|
1597
|
-
if (spec.open === defaultSpec.open &&
|
|
1598
|
-
spec.close === defaultSpec.close) {
|
|
1599
|
-
score -= 0.5;
|
|
1600
|
-
}
|
|
1601
|
-
if (score < bestScore) {
|
|
1602
|
-
bestSpec = spec;
|
|
1603
|
-
bestScore = score;
|
|
1604
|
-
}
|
|
1605
|
-
}
|
|
1606
|
-
return bestSpec;
|
|
1607
|
-
}
|
|
1608
1287
|
function preferredAffinityAtGap(left, right, fallback) {
|
|
1609
1288
|
if (isMarksPrefix(left, right) && right.length > left.length) {
|
|
1610
1289
|
return "forward";
|
|
@@ -1857,49 +1536,51 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
1857
1536
|
const openLen = openMarker.length;
|
|
1858
1537
|
const closeLen = closeMarker.length;
|
|
1859
1538
|
const placeholder = "\u200B";
|
|
1860
|
-
const markerMark = {
|
|
1861
|
-
kind: markerKind,
|
|
1862
|
-
data: undefined,
|
|
1863
|
-
key: markKey(markerKind, undefined),
|
|
1864
|
-
};
|
|
1865
1539
|
if (selection.start === selection.end) {
|
|
1866
1540
|
const caret = selection.start;
|
|
1867
|
-
const pendingPlaceholderMarks = getPendingPlaceholderMarksAtCursor(state, caret);
|
|
1868
|
-
if (pendingPlaceholderMarks) {
|
|
1869
|
-
const hasMarker = pendingPlaceholderMarks.some((mark) => mark.kind === markerKind);
|
|
1870
|
-
const around = marksAroundCursor(state.doc, caret);
|
|
1871
|
-
const nextMarks = hasMarker
|
|
1872
|
-
? removeMarkByKind(pendingPlaceholderMarks, markerKind)
|
|
1873
|
-
: mergeMarksPreservingOrder(around.left, pendingPlaceholderMarks, [markerMark]);
|
|
1874
|
-
const next = nextMarks.length > 0
|
|
1875
|
-
? updatePendingPlaceholderMarksAtCursor(state, caret, nextMarks)
|
|
1876
|
-
: removePendingPlaceholderAtCursor(state, caret);
|
|
1877
|
-
if (next) {
|
|
1878
|
-
return {
|
|
1879
|
-
...next,
|
|
1880
|
-
selection: {
|
|
1881
|
-
start: caret,
|
|
1882
|
-
end: caret,
|
|
1883
|
-
affinity: "forward",
|
|
1884
|
-
},
|
|
1885
|
-
};
|
|
1886
|
-
}
|
|
1887
|
-
}
|
|
1888
1541
|
// When the caret is at the end boundary of an inline wrapper, toggling the
|
|
1889
1542
|
// wrapper should "exit" it (so the next character types outside). This is
|
|
1890
1543
|
// best expressed in cursor space by flipping affinity to "forward" when we
|
|
1891
1544
|
// are leaving a wrapper of the requested kind.
|
|
1892
1545
|
const around = marksAroundCursor(state.doc, caret);
|
|
1893
1546
|
if (isMarksPrefix(around.right, around.left) &&
|
|
1894
|
-
around.left.length > around.right.length
|
|
1895
|
-
(selection.affinity ?? "forward") === "backward") {
|
|
1547
|
+
around.left.length > around.right.length) {
|
|
1896
1548
|
const exiting = around.left.slice(around.right.length);
|
|
1897
1549
|
if (exiting.some((mark) => mark.kind === markerKind)) {
|
|
1898
|
-
const
|
|
1899
|
-
if (
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1550
|
+
const toggledExitingIndex = exiting.findIndex((mark) => mark.kind === markerKind);
|
|
1551
|
+
if (exiting.length > 1 &&
|
|
1552
|
+
toggledExitingIndex !== -1 &&
|
|
1553
|
+
toggledExitingIndex < exiting.length - 1) {
|
|
1554
|
+
return {
|
|
1555
|
+
...state,
|
|
1556
|
+
selection: {
|
|
1557
|
+
start: caret,
|
|
1558
|
+
end: caret,
|
|
1559
|
+
affinity: "forward",
|
|
1560
|
+
},
|
|
1561
|
+
};
|
|
1562
|
+
}
|
|
1563
|
+
if (exiting.length > 1) {
|
|
1564
|
+
const insertAtForward = map.cursorToSource(caret, "forward");
|
|
1565
|
+
const insertAtBackward = map.cursorToSource(caret, "backward");
|
|
1566
|
+
const between = source.slice(insertAtBackward, insertAtForward);
|
|
1567
|
+
const markerIndex = between.indexOf(closeMarker);
|
|
1568
|
+
if (markerIndex !== -1) {
|
|
1569
|
+
const insertAt = insertAtBackward + markerIndex + closeLen;
|
|
1570
|
+
const nextSource = source.slice(0, insertAt) +
|
|
1571
|
+
placeholder +
|
|
1572
|
+
source.slice(insertAt);
|
|
1573
|
+
const next = createState(nextSource);
|
|
1574
|
+
const placeholderStart = insertAt;
|
|
1575
|
+
const startCursor = next.map.sourceToCursor(placeholderStart, "forward");
|
|
1576
|
+
return {
|
|
1577
|
+
...next,
|
|
1578
|
+
selection: {
|
|
1579
|
+
start: startCursor.cursorOffset,
|
|
1580
|
+
end: startCursor.cursorOffset,
|
|
1581
|
+
affinity: "forward",
|
|
1582
|
+
},
|
|
1583
|
+
};
|
|
1903
1584
|
}
|
|
1904
1585
|
}
|
|
1905
1586
|
return {
|
|
@@ -1919,20 +1600,6 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
1919
1600
|
around.right.length > around.left.length) {
|
|
1920
1601
|
const entering = around.right.slice(around.left.length);
|
|
1921
1602
|
if (entering.some((mark) => mark.kind === markerKind)) {
|
|
1922
|
-
const remainingMarks = removeMarkByKind(around.right, markerKind);
|
|
1923
|
-
const next = remainingMarks.length > 0
|
|
1924
|
-
? updatePendingPlaceholderMarksAtCursor(state, caret, remainingMarks)
|
|
1925
|
-
: removePendingPlaceholderAtCursor(state, caret);
|
|
1926
|
-
if (next) {
|
|
1927
|
-
return {
|
|
1928
|
-
...next,
|
|
1929
|
-
selection: {
|
|
1930
|
-
start: caret,
|
|
1931
|
-
end: caret,
|
|
1932
|
-
affinity: "backward",
|
|
1933
|
-
},
|
|
1934
|
-
};
|
|
1935
|
-
}
|
|
1936
1603
|
const insertAtBackward = map.cursorToSource(caret, "backward");
|
|
1937
1604
|
const insertAtForward = map.cursorToSource(caret, "forward");
|
|
1938
1605
|
const after = source.slice(insertAtBackward);
|
|
@@ -1991,18 +1658,6 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
1991
1658
|
}
|
|
1992
1659
|
}
|
|
1993
1660
|
}
|
|
1994
|
-
if (isMarksPrefix(around.right, around.left) &&
|
|
1995
|
-
around.left.length > around.right.length &&
|
|
1996
|
-
(selection.affinity ?? "forward") === "backward" &&
|
|
1997
|
-
!around.left.some((mark) => mark.kind === markerKind)) {
|
|
1998
|
-
const next = createPendingPlaceholderStateAtCursor(state, caret, [
|
|
1999
|
-
...around.left,
|
|
2000
|
-
markerMark,
|
|
2001
|
-
]);
|
|
2002
|
-
if (next) {
|
|
2003
|
-
return next;
|
|
2004
|
-
}
|
|
2005
|
-
}
|
|
2006
1661
|
// Otherwise, insert an empty marker pair with a zero-width placeholder
|
|
2007
1662
|
// selected so the next typed character replaces it.
|
|
2008
1663
|
//
|
|
@@ -2024,63 +1679,34 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
2024
1679
|
return null;
|
|
2025
1680
|
})();
|
|
2026
1681
|
// When at a boundary between cursor positions (insertAtBackward !== insertAtForward),
|
|
2027
|
-
//
|
|
2028
|
-
//
|
|
2029
|
-
//
|
|
2030
|
-
// Still guard against inserting a longer marker into a shorter boundary run,
|
|
2031
|
-
// which would create ambiguous source (e.g., *italic*****).
|
|
1682
|
+
// prefer insertAtBackward to keep new markers inside the current formatting context.
|
|
1683
|
+
// However, only do this if the new marker length is <= the boundary marker length,
|
|
1684
|
+
// otherwise we create ambiguous marker sequences (e.g., *italic***** doesn't parse).
|
|
2032
1685
|
const betweenLen = insertAtForward - insertAtBackward;
|
|
2033
|
-
const preferBackward = insertAtBackward !== insertAtForward &&
|
|
2034
|
-
(selection.affinity ?? "forward") === "backward" &&
|
|
2035
|
-
openLen <= betweenLen;
|
|
1686
|
+
const preferBackward = insertAtBackward !== insertAtForward && openLen <= betweenLen;
|
|
2036
1687
|
const insertAt = placeholderPos ?? (preferBackward ? insertAtBackward : insertAtForward);
|
|
2037
|
-
const insertMarkerSpec = placeholderPos === null
|
|
2038
|
-
? pickSafeCollapsedToggleMarkerSpec({
|
|
2039
|
-
defaultSpec: markerSpec,
|
|
2040
|
-
source,
|
|
2041
|
-
insertAt,
|
|
2042
|
-
affinity: selection.affinity ?? "forward",
|
|
2043
|
-
})
|
|
2044
|
-
: markerSpec;
|
|
2045
|
-
const insertOpenMarker = insertMarkerSpec.open;
|
|
2046
|
-
const insertCloseMarker = insertMarkerSpec.close;
|
|
2047
|
-
const insertOpenLen = insertOpenMarker.length;
|
|
2048
|
-
const baseMarks = (selection.affinity ?? "forward") === "backward"
|
|
2049
|
-
? around.left
|
|
2050
|
-
: around.right;
|
|
2051
|
-
const nextMarks = [
|
|
2052
|
-
...baseMarks.filter((mark) => mark.kind !== markerKind),
|
|
2053
|
-
markerMark,
|
|
2054
|
-
];
|
|
2055
|
-
if (placeholderPos !== null) {
|
|
2056
|
-
const next = updatePendingPlaceholderMarksAtCursor(state, caret, nextMarks);
|
|
2057
|
-
if (next) {
|
|
2058
|
-
return next;
|
|
2059
|
-
}
|
|
2060
|
-
}
|
|
2061
|
-
const docInserted = createPendingPlaceholderStateAtCursor(state, caret, nextMarks);
|
|
2062
|
-
if (docInserted) {
|
|
2063
|
-
return docInserted;
|
|
2064
|
-
}
|
|
2065
1688
|
const nextSource = placeholderPos !== null
|
|
2066
1689
|
? source.slice(0, insertAt) +
|
|
2067
|
-
|
|
1690
|
+
openMarker +
|
|
2068
1691
|
placeholder +
|
|
2069
|
-
|
|
1692
|
+
closeMarker +
|
|
2070
1693
|
source.slice(insertAt + placeholder.length)
|
|
2071
1694
|
: source.slice(0, insertAt) +
|
|
2072
|
-
|
|
1695
|
+
openMarker +
|
|
2073
1696
|
placeholder +
|
|
2074
|
-
|
|
1697
|
+
closeMarker +
|
|
2075
1698
|
source.slice(insertAt);
|
|
2076
1699
|
const next = createState(nextSource);
|
|
2077
|
-
const placeholderStart = insertAt +
|
|
1700
|
+
const placeholderStart = insertAt + openLen;
|
|
2078
1701
|
const startCursor = next.map.sourceToCursor(placeholderStart, "forward");
|
|
2079
|
-
return
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
1702
|
+
return {
|
|
1703
|
+
...next,
|
|
1704
|
+
selection: {
|
|
1705
|
+
start: startCursor.cursorOffset,
|
|
1706
|
+
end: startCursor.cursorOffset,
|
|
1707
|
+
affinity: "forward",
|
|
1708
|
+
},
|
|
1709
|
+
};
|
|
2084
1710
|
}
|
|
2085
1711
|
const cursorStart = Math.min(selection.start, selection.end);
|
|
2086
1712
|
const cursorEnd = Math.max(selection.start, selection.end);
|
|
@@ -2142,6 +1768,11 @@ export function createRuntimeFromRegistry(registry) {
|
|
|
2142
1768
|
const hasTargetMark = visibleRunsForDecision.some((run) => run.marks.some((mark) => mark.kind === markerKind));
|
|
2143
1769
|
const canUnwrap = hasTargetMark &&
|
|
2144
1770
|
visibleRunsForDecision.every((run) => run.marks.some((mark) => mark.kind === markerKind));
|
|
1771
|
+
const markerMark = {
|
|
1772
|
+
kind: markerKind,
|
|
1773
|
+
data: undefined,
|
|
1774
|
+
key: markKey(markerKind, undefined),
|
|
1775
|
+
};
|
|
2145
1776
|
const removeMark = (marks) => {
|
|
2146
1777
|
if (!marks.some((mark) => mark.kind === markerKind)) {
|
|
2147
1778
|
return marks;
|
|
@@ -240,6 +240,7 @@ export declare class CakeEditor {
|
|
|
240
240
|
replaceText(oldText: string, newText: string): void;
|
|
241
241
|
setSelection(selection: Selection, options?: {
|
|
242
242
|
scrollIntoView?: boolean;
|
|
243
|
+
applyDomSelection?: boolean;
|
|
243
244
|
}): void;
|
|
244
245
|
setValue({ value, selection }: {
|
|
245
246
|
value: string;
|
|
@@ -280,6 +281,7 @@ export declare class CakeEditor {
|
|
|
280
281
|
private getAtomicBlockSelectionFromClick;
|
|
281
282
|
private handleClick;
|
|
282
283
|
private handleKeyDown;
|
|
284
|
+
private isAtCollapsedListContentStart;
|
|
283
285
|
private resolveExtensionKeybinding;
|
|
284
286
|
private handleCopy;
|
|
285
287
|
private handleCut;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cake-editor.d.ts","sourceRoot":"","sources":["../../../src/cake/editor/cake-editor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cake-editor.d.ts","sourceRoot":"","sources":["../../../src/cake/editor/cake-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,10 @@ import { hitTestFromLayout, measureLayoutModelFromDom, } from "./selection/selec
|
|
|
7
7
|
import { moveSelectionVertically as moveSelectionVerticallyInLayout } from "./selection/selection-navigation";
|
|
8
8
|
import { EditorTextModel, } from "./internal/editor-text-model";
|
|
9
9
|
import { isMacPlatform } from "../shared/platform";
|
|
10
|
-
import { graphemeCount } from "../shared/segmenter";
|
|
10
|
+
import { graphemeCount, graphemeSegments } from "../shared/segmenter";
|
|
11
11
|
import { getWordBoundaries, nextWordBreak, prevWordBreak, } from "../shared/word-break";
|
|
12
12
|
import { htmlToMarkdownForPaste } from "../../cake/clipboard";
|
|
13
|
+
const LIST_LINE_PREFIX_REGEX = /^(\s*)([-*+]|\d+\.)( )/;
|
|
13
14
|
const defaultSelection = { start: 0, end: 0, affinity: "forward" };
|
|
14
15
|
const COMPOSITION_COMMIT_CLEAR_DELAY_MS = 50;
|
|
15
16
|
const HISTORY_GROUPING_INTERVAL_MS = 500;
|
|
@@ -986,10 +987,11 @@ export class CakeEditor {
|
|
|
986
987
|
this.state = this.runtime.updateSelection(this.state, selection, {
|
|
987
988
|
kind: "programmatic",
|
|
988
989
|
});
|
|
989
|
-
|
|
990
|
+
const shouldApplyDomSelection = options?.applyDomSelection ?? true;
|
|
991
|
+
if (!this.isComposing && shouldApplyDomSelection) {
|
|
990
992
|
this.applySelection(this.state.selection);
|
|
991
993
|
}
|
|
992
|
-
if (options?.scrollIntoView ?? true) {
|
|
994
|
+
if (shouldApplyDomSelection && (options?.scrollIntoView ?? true)) {
|
|
993
995
|
this.scheduleScrollCaretIntoView();
|
|
994
996
|
}
|
|
995
997
|
}
|
|
@@ -999,7 +1001,9 @@ export class CakeEditor {
|
|
|
999
1001
|
return;
|
|
1000
1002
|
}
|
|
1001
1003
|
if (!valueChanged && selection !== undefined) {
|
|
1002
|
-
this.setSelection(selection
|
|
1004
|
+
this.setSelection(selection, {
|
|
1005
|
+
applyDomSelection: this.hasFocus(),
|
|
1006
|
+
});
|
|
1003
1007
|
return;
|
|
1004
1008
|
}
|
|
1005
1009
|
const nextSelection = selection ?? this.state.selection;
|
|
@@ -1926,6 +1930,19 @@ export class CakeEditor {
|
|
|
1926
1930
|
});
|
|
1927
1931
|
return;
|
|
1928
1932
|
}
|
|
1933
|
+
if (event.key === "Backspace" &&
|
|
1934
|
+
!event.metaKey &&
|
|
1935
|
+
!event.ctrlKey &&
|
|
1936
|
+
!event.altKey &&
|
|
1937
|
+
this.isAtCollapsedListContentStart()) {
|
|
1938
|
+
event.preventDefault();
|
|
1939
|
+
this.keydownHandledBeforeInput = true;
|
|
1940
|
+
this.applyEdit({ type: "delete-backward" });
|
|
1941
|
+
queueMicrotask(() => {
|
|
1942
|
+
this.keydownHandledBeforeInput = false;
|
|
1943
|
+
});
|
|
1944
|
+
return;
|
|
1945
|
+
}
|
|
1929
1946
|
if (event.key === "ArrowLeft") {
|
|
1930
1947
|
this.verticalNavGoalX = null;
|
|
1931
1948
|
if (isLineModifier) {
|
|
@@ -2105,6 +2122,27 @@ export class CakeEditor {
|
|
|
2105
2122
|
}
|
|
2106
2123
|
}
|
|
2107
2124
|
}
|
|
2125
|
+
isAtCollapsedListContentStart() {
|
|
2126
|
+
const selection = this.state.selection;
|
|
2127
|
+
if (selection.start !== selection.end) {
|
|
2128
|
+
return false;
|
|
2129
|
+
}
|
|
2130
|
+
const lineOffsets = this.textModel.getLineOffsets();
|
|
2131
|
+
const { lineIndex, offsetInLine } = this.textModel.resolveOffsetToLine(selection.start);
|
|
2132
|
+
const lineInfo = this.textModel.getLines()[lineIndex];
|
|
2133
|
+
if (!lineInfo) {
|
|
2134
|
+
return false;
|
|
2135
|
+
}
|
|
2136
|
+
const lineStart = lineOffsets[lineIndex] ?? 0;
|
|
2137
|
+
const lineEnd = lineStart + lineInfo.cursorLength;
|
|
2138
|
+
const lineText = this.state.source.slice(lineStart, lineEnd);
|
|
2139
|
+
const match = lineText.match(LIST_LINE_PREFIX_REGEX);
|
|
2140
|
+
if (!match) {
|
|
2141
|
+
return false;
|
|
2142
|
+
}
|
|
2143
|
+
const prefixLength = Array.from(graphemeSegments(match[0])).length;
|
|
2144
|
+
return offsetInLine === prefixLength;
|
|
2145
|
+
}
|
|
2108
2146
|
resolveExtensionKeybinding(event) {
|
|
2109
2147
|
const eventKey = event.key.length === 1 ? event.key.toLowerCase() : event.key;
|
|
2110
2148
|
for (const binding of this.keybindings) {
|
|
@@ -2296,6 +2334,12 @@ export class CakeEditor {
|
|
|
2296
2334
|
// while our beforeinput-handled suppression window is still active. In that case,
|
|
2297
2335
|
// we must not drop the edit; reconcile if the DOM diverged from the model.
|
|
2298
2336
|
if (this.beforeInputHandled) {
|
|
2337
|
+
if (event.inputType === "deleteContentBackward" ||
|
|
2338
|
+
event.inputType === "deleteContentForward" ||
|
|
2339
|
+
event.inputType === "deleteByLineBoundary" ||
|
|
2340
|
+
event.inputType === "deleteByCut") {
|
|
2341
|
+
return;
|
|
2342
|
+
}
|
|
2299
2343
|
const domText = this.readDomText();
|
|
2300
2344
|
const modelText = this.textModel.getVisibleText();
|
|
2301
2345
|
if (domText === modelText) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bold.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/bold/bold.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bold.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/bold/bold.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;AAS5B,eAAO,MAAM,aAAa,EAAE,aA6I3B,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CursorSourceBuilder } from "../../core/mapping/cursor-source-map";
|
|
2
|
-
import { serializeItalicInlineWithMarker } from "../italic/italic";
|
|
3
2
|
const BOLD_KIND = "bold";
|
|
4
3
|
export const boldExtension = (editor) => {
|
|
5
4
|
const disposers = [];
|
|
@@ -69,20 +68,10 @@ export const boldExtension = (editor) => {
|
|
|
69
68
|
}
|
|
70
69
|
const builder = new CursorSourceBuilder();
|
|
71
70
|
builder.appendSourceOnly("**");
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
inline.children.forEach((child, index) => {
|
|
75
|
-
const nextSource = defaultChildResults[index + 1]?.source ?? "";
|
|
76
|
-
const serialized = child.type === "inline-wrapper" &&
|
|
77
|
-
child.kind === "italic" &&
|
|
78
|
-
(previousSource.endsWith("*") ||
|
|
79
|
-
nextSource.startsWith("*") ||
|
|
80
|
-
(index === 0 && inline.children.length > 1))
|
|
81
|
-
? serializeItalicInlineWithMarker(child, context, "_")
|
|
82
|
-
: (defaultChildResults[index] ?? context.serializeInline(child));
|
|
71
|
+
for (const child of inline.children) {
|
|
72
|
+
const serialized = context.serializeInline(child);
|
|
83
73
|
builder.appendSerialized(serialized);
|
|
84
|
-
|
|
85
|
-
});
|
|
74
|
+
}
|
|
86
75
|
builder.appendSourceOnly("**");
|
|
87
76
|
return builder.build();
|
|
88
77
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/heading/heading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,oBAAoB,CAAC;AAwa5B,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/heading/heading.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,oBAAoB,CAAC;AAwa5B,eAAO,MAAM,gBAAgB,EAAE,aA2N9B,CAAC"}
|
|
@@ -351,7 +351,7 @@ export const headingExtension = (editor) => {
|
|
|
351
351
|
if (selection.start !== selection.end) {
|
|
352
352
|
return null;
|
|
353
353
|
}
|
|
354
|
-
const cursorPos =
|
|
354
|
+
const cursorPos = selection.start;
|
|
355
355
|
const sourcePos = map.cursorToSource(cursorPos, selection.affinity ?? "forward");
|
|
356
356
|
const lineStart = findLineStartInSource(source, sourcePos);
|
|
357
357
|
const prefix = source.slice(lineStart, sourcePos);
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { type CakeExtension
|
|
2
|
-
import type { Inline } from "../../core/types";
|
|
3
|
-
export declare function serializeItalicInlineWithMarker(inline: Inline & {
|
|
4
|
-
type: "inline-wrapper";
|
|
5
|
-
}, context: {
|
|
6
|
-
serializeInline: (inline: Inline) => SerializeInlineResult;
|
|
7
|
-
}, marker: "*" | "_"): SerializeInlineResult;
|
|
1
|
+
import { type CakeExtension } from "../../core/runtime";
|
|
8
2
|
export declare const italicExtension: CakeExtension;
|
|
9
3
|
//# sourceMappingURL=italic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"italic.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/italic/italic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"italic.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/italic/italic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;AAuC5B,eAAO,MAAM,eAAe,EAAE,aA0I7B,CAAC"}
|
|
@@ -1,92 +1,25 @@
|
|
|
1
1
|
import { CursorSourceBuilder } from "../../core/mapping/cursor-source-map";
|
|
2
2
|
import { hasInlineMarkerBoundaryBefore } from "../shared/inline-marker-boundary";
|
|
3
3
|
const ITALIC_KIND = "italic";
|
|
4
|
-
function buildItalicSerialization(childResults, marker) {
|
|
5
|
-
const builder = new CursorSourceBuilder();
|
|
6
|
-
builder.appendSourceOnly(marker);
|
|
7
|
-
for (const child of childResults) {
|
|
8
|
-
builder.appendSerialized(child);
|
|
9
|
-
}
|
|
10
|
-
builder.appendSourceOnly(marker);
|
|
11
|
-
return builder.build();
|
|
12
|
-
}
|
|
13
|
-
function canParseSerializedUnderscoreRun(source, start, close) {
|
|
14
|
-
return (source[start + 1] === "*" ||
|
|
15
|
-
source[close - 1] === "*" ||
|
|
16
|
-
source[close + 1] === "*");
|
|
17
|
-
}
|
|
18
|
-
export function serializeItalicInlineWithMarker(inline, context, marker) {
|
|
19
|
-
const childResults = inline.children.map((child) => context.serializeInline(child));
|
|
20
|
-
return buildItalicSerialization(childResults, marker);
|
|
21
|
-
}
|
|
22
|
-
function serializeInlineSequenceWithSafeItalic(inlines, context) {
|
|
23
|
-
const builder = new CursorSourceBuilder();
|
|
24
|
-
const defaultResults = inlines.map((inline) => context.serializeInline(inline));
|
|
25
|
-
let previousSource = "";
|
|
26
|
-
inlines.forEach((inline, index) => {
|
|
27
|
-
const nextSource = defaultResults[index + 1]?.source ?? "";
|
|
28
|
-
const serialized = inline.type === "inline-wrapper" &&
|
|
29
|
-
inline.kind === ITALIC_KIND &&
|
|
30
|
-
(previousSource.endsWith("*") || nextSource.startsWith("*"))
|
|
31
|
-
? serializeItalicInlineWithMarker(inline, context, "_")
|
|
32
|
-
: (defaultResults[index] ?? context.serializeInline(inline));
|
|
33
|
-
builder.appendSerialized(serialized);
|
|
34
|
-
previousSource = serialized.source;
|
|
35
|
-
});
|
|
36
|
-
return builder.build();
|
|
37
|
-
}
|
|
38
4
|
function findItalicClose(source, start, end, marker) {
|
|
39
5
|
if (marker === "_") {
|
|
40
6
|
return source.indexOf("_", start + 1);
|
|
41
7
|
}
|
|
8
|
+
let fallback = -1;
|
|
42
9
|
for (let i = start + 1; i < end; i += 1) {
|
|
43
10
|
if (source[i] !== "*") {
|
|
44
11
|
continue;
|
|
45
12
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
let runEnd = i;
|
|
51
|
-
while (runEnd + 1 < end && source[runEnd + 1] === "*") {
|
|
52
|
-
runEnd += 1;
|
|
53
|
-
}
|
|
54
|
-
const runLength = runEnd - runStart + 1;
|
|
55
|
-
if (runLength === 1) {
|
|
56
|
-
if (hasUnmatchedBoldRun(source, start + 1, i)) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
13
|
+
const prevIsStar = source[i - 1] === "*";
|
|
14
|
+
const nextIsStar = source[i + 1] === "*";
|
|
15
|
+
if (!prevIsStar && !nextIsStar) {
|
|
59
16
|
return i;
|
|
60
17
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (!hasBoldCloserAhead) {
|
|
64
|
-
if (runLength === 2 && hasUnmatchedBold) {
|
|
65
|
-
i = runEnd;
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (runLength >= 3 && hasUnmatchedBold) {
|
|
69
|
-
return runEnd;
|
|
70
|
-
}
|
|
71
|
-
return runStart;
|
|
18
|
+
if (fallback === -1) {
|
|
19
|
+
fallback = i;
|
|
72
20
|
}
|
|
73
|
-
i = runEnd;
|
|
74
21
|
}
|
|
75
|
-
return
|
|
76
|
-
}
|
|
77
|
-
function hasUnmatchedBoldRun(source, start, end) {
|
|
78
|
-
let parity = 0;
|
|
79
|
-
for (let i = start; i < end; i += 1) {
|
|
80
|
-
if (source[i] !== "*" || source[i + 1] !== "*") {
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
if (source[i - 1] === "*" || source[i + 2] === "*") {
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
parity ^= 1;
|
|
87
|
-
i += 1;
|
|
88
|
-
}
|
|
89
|
-
return parity === 1;
|
|
22
|
+
return fallback;
|
|
90
23
|
}
|
|
91
24
|
export const italicExtension = (editor) => {
|
|
92
25
|
const disposers = [];
|
|
@@ -112,6 +45,9 @@ export const italicExtension = (editor) => {
|
|
|
112
45
|
if (char !== "_" && char !== "*") {
|
|
113
46
|
return null;
|
|
114
47
|
}
|
|
48
|
+
if (char === "_" && !hasInlineMarkerBoundaryBefore(source, start)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
115
51
|
// Don't match ** (that's bold)
|
|
116
52
|
if (char === "*" && source[start + 1] === "*") {
|
|
117
53
|
return null;
|
|
@@ -126,11 +62,6 @@ export const italicExtension = (editor) => {
|
|
|
126
62
|
if (close === -1 || close >= end) {
|
|
127
63
|
return null;
|
|
128
64
|
}
|
|
129
|
-
if (char === "_" &&
|
|
130
|
-
!hasInlineMarkerBoundaryBefore(source, start) &&
|
|
131
|
-
!canParseSerializedUnderscoreRun(source, start, close)) {
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
65
|
// Don't match empty delimiters like ** that could be start of bold
|
|
135
66
|
if (close === start + 1 && close + 1 < end) {
|
|
136
67
|
return null;
|
|
@@ -145,22 +76,21 @@ export const italicExtension = (editor) => {
|
|
|
145
76
|
nextPos: close + 1,
|
|
146
77
|
};
|
|
147
78
|
}));
|
|
148
|
-
disposers.push(editor.registerSerializeBlock((block, context) => {
|
|
149
|
-
if (block.type !== "paragraph") {
|
|
150
|
-
return null;
|
|
151
|
-
}
|
|
152
|
-
return serializeInlineSequenceWithSafeItalic(block.content, context);
|
|
153
|
-
}));
|
|
154
79
|
disposers.push(editor.registerSerializeInline((inline, context) => {
|
|
155
80
|
if (inline.type !== "inline-wrapper" || inline.kind !== ITALIC_KIND) {
|
|
156
81
|
return null;
|
|
157
82
|
}
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
83
|
+
const builder = new CursorSourceBuilder();
|
|
84
|
+
// Use asterisk for serialization to match v1 behavior
|
|
85
|
+
// This prevents issues when typing **bold** where intermediate state
|
|
86
|
+
// *world* would get serialized as _world_ causing marker conversion
|
|
87
|
+
builder.appendSourceOnly("*");
|
|
88
|
+
for (const child of inline.children) {
|
|
89
|
+
const serialized = context.serializeInline(child);
|
|
90
|
+
builder.appendSerialized(serialized);
|
|
91
|
+
}
|
|
92
|
+
builder.appendSourceOnly("*");
|
|
93
|
+
return builder.build();
|
|
164
94
|
}));
|
|
165
95
|
disposers.push(editor.registerNormalizeInline((inline) => {
|
|
166
96
|
if (inline.type !== "inline-wrapper" || inline.kind !== ITALIC_KIND) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/list/list.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,oBAAoB,CAAC;AA2qC5B,+CAA+C;AAC/C,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAErE,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAEzE,kCAAkC;AAClC,MAAM,MAAM,WAAW,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAE9E,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/cake/extensions/list/list.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,oBAAoB,CAAC;AA2qC5B,+CAA+C;AAC/C,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAErE,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAEzE,kCAAkC;AAClC,MAAM,MAAM,WAAW,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAE9E,eAAO,MAAM,sBAAsB,EAAE,aA0NpC,CAAC"}
|
|
@@ -967,9 +967,9 @@ export const plainTextListExtension = (editor) => {
|
|
|
967
967
|
return null;
|
|
968
968
|
}
|
|
969
969
|
const contentStart = Math.min(prefixLength, lineCursorLength);
|
|
970
|
+
const selectedContent = lineText.slice(listMatch.prefix.length);
|
|
970
971
|
const contentHtml = startInLine <= contentStart && endInLine >= lineCursorLength
|
|
971
|
-
? context.state.runtime
|
|
972
|
-
.serializeSelectionToHtml(context.state, {
|
|
972
|
+
? context.state.runtime.serializeSelectionToHtml(context.state, {
|
|
973
973
|
start: context.line.lineStartOffset +
|
|
974
974
|
Math.min(contentStart, context.lineCursorLength),
|
|
975
975
|
end: context.line.lineStartOffset + lineCursorLength,
|
|
@@ -981,7 +981,7 @@ export const plainTextListExtension = (editor) => {
|
|
|
981
981
|
const type = listMatch.number === null ? "ul" : "ol";
|
|
982
982
|
const indent = Math.floor(listMatch.indent.length / 2);
|
|
983
983
|
return {
|
|
984
|
-
html: `<li>${contentHtml}</li>`,
|
|
984
|
+
html: `<li>${contentHtml || selectedContent}</li>`,
|
|
985
985
|
group: {
|
|
986
986
|
key: `${type}:${indent}`,
|
|
987
987
|
open: `<${type}>`,
|
|
@@ -1005,26 +1005,56 @@ export const plainTextListExtension = (editor) => {
|
|
|
1005
1005
|
element.setAttribute("data-line-index", String(context.getLineIndex()));
|
|
1006
1006
|
element.classList.add("cake-line", "is-list");
|
|
1007
1007
|
context.incrementLineIndex();
|
|
1008
|
+
const markerPrefix = `${listMatch.marker}${listMatch.space}`;
|
|
1009
|
+
const sourcePrefix = `${listMatch.indent}${markerPrefix}`;
|
|
1008
1010
|
const indentLevel = Math.floor(listMatch.indent.length / 2);
|
|
1011
|
+
element.style.paddingLeft = "0";
|
|
1012
|
+
element.style.textIndent = "0";
|
|
1013
|
+
element.style.display = "grid";
|
|
1014
|
+
element.style.gridTemplateColumns = "max-content minmax(0, 1fr)";
|
|
1015
|
+
element.style.alignItems = "start";
|
|
1016
|
+
element.style.columnGap = "0";
|
|
1009
1017
|
if (indentLevel > 0) {
|
|
1010
|
-
element.style.
|
|
1018
|
+
element.style.paddingLeft = `${indentLevel * 2}ch`;
|
|
1011
1019
|
}
|
|
1012
|
-
const
|
|
1013
|
-
|
|
1020
|
+
const marker = createListMarker({
|
|
1021
|
+
markerPrefix,
|
|
1022
|
+
createTextRun: context.createTextRun,
|
|
1023
|
+
});
|
|
1024
|
+
const content = document.createElement("span");
|
|
1025
|
+
content.setAttribute("data-cake-list-content", "true");
|
|
1026
|
+
content.style.display = "block";
|
|
1027
|
+
content.style.minWidth = "0";
|
|
1014
1028
|
if (block.content.length === 0) {
|
|
1015
1029
|
const textNode = document.createTextNode("");
|
|
1016
1030
|
context.createTextRun(textNode);
|
|
1017
|
-
|
|
1018
|
-
|
|
1031
|
+
content.append(textNode);
|
|
1032
|
+
content.append(document.createElement("br"));
|
|
1019
1033
|
}
|
|
1020
1034
|
else {
|
|
1021
1035
|
const mergedContent = mergeInlineForRender(block.content);
|
|
1036
|
+
let didStripMarker = false;
|
|
1022
1037
|
for (const inline of mergedContent) {
|
|
1038
|
+
if (!didStripMarker && inline.type === "text") {
|
|
1039
|
+
const trailingText = splitListTextInline({
|
|
1040
|
+
text: inline.text,
|
|
1041
|
+
sourcePrefix,
|
|
1042
|
+
createTextRun: context.createTextRun,
|
|
1043
|
+
});
|
|
1044
|
+
if (trailingText) {
|
|
1045
|
+
if (trailingText.textContent) {
|
|
1046
|
+
content.append(trailingText);
|
|
1047
|
+
}
|
|
1048
|
+
didStripMarker = true;
|
|
1049
|
+
continue;
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1023
1052
|
for (const node of context.renderInline(inline)) {
|
|
1024
|
-
|
|
1053
|
+
content.append(node);
|
|
1025
1054
|
}
|
|
1026
1055
|
}
|
|
1027
1056
|
}
|
|
1057
|
+
element.append(marker, content);
|
|
1028
1058
|
return element;
|
|
1029
1059
|
}));
|
|
1030
1060
|
return () => disposers
|
|
@@ -1032,3 +1062,20 @@ export const plainTextListExtension = (editor) => {
|
|
|
1032
1062
|
.reverse()
|
|
1033
1063
|
.forEach((d) => d());
|
|
1034
1064
|
};
|
|
1065
|
+
function createListMarker(params) {
|
|
1066
|
+
const marker = document.createElement("span");
|
|
1067
|
+
marker.setAttribute("data-cake-list-marker", "true");
|
|
1068
|
+
marker.style.whiteSpace = "pre";
|
|
1069
|
+
const markerText = document.createTextNode(params.markerPrefix);
|
|
1070
|
+
params.createTextRun(markerText);
|
|
1071
|
+
marker.append(markerText);
|
|
1072
|
+
return marker;
|
|
1073
|
+
}
|
|
1074
|
+
function splitListTextInline(params) {
|
|
1075
|
+
if (!params.text.startsWith(params.sourcePrefix)) {
|
|
1076
|
+
return null;
|
|
1077
|
+
}
|
|
1078
|
+
const trailingText = document.createTextNode(params.text.slice(params.sourcePrefix.length));
|
|
1079
|
+
params.createTextRun(trailingText);
|
|
1080
|
+
return trailingText;
|
|
1081
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cake/react/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,aAAa,EAEb,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAuBzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,KAC9B,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,gBAAgB,EAAE,CAAC,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,mBAAmB,EAAE,CACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,CACd,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KACjC,OAAO,CAAC;IACb,WAAW,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cake/react/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/cake/react/index.js
CHANGED
|
@@ -216,11 +216,7 @@ export const CakeEditor = forwardRef(function CakeEditor(props, outerRef) {
|
|
|
216
216
|
if (!selection) {
|
|
217
217
|
return null;
|
|
218
218
|
}
|
|
219
|
-
return {
|
|
220
|
-
start: selection.start,
|
|
221
|
-
end: selection.end,
|
|
222
|
-
affinity: selection.affinity,
|
|
223
|
-
};
|
|
219
|
+
return { start: selection.start, end: selection.end };
|
|
224
220
|
},
|
|
225
221
|
getText: () => engineRef.current?.getText() ?? "",
|
|
226
222
|
getTextSelection: () => engineRef.current?.getTextSelection() ?? { start: 0, end: 0 },
|