@blankdotpage/cake 0.1.14 → 0.1.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cake/core/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cake/core/runtime.ts"],"names":[],"mappings":"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"}
@@ -469,6 +469,45 @@ export function createRuntime(extensions) {
469
469
  if (!startLine || !endLine) {
470
470
  return null;
471
471
  }
472
+ if (command.type === "delete-backward" &&
473
+ cursorStart === cursorEnd &&
474
+ endLoc.offsetInLine === 0 &&
475
+ endLoc.lineIndex > 0) {
476
+ const prevLine = lines[endLoc.lineIndex - 1];
477
+ if (prevLine &&
478
+ !pathsEqual(prevLine.parentPath, endLine.parentPath)) {
479
+ const prevBlock = getBlockAtPath(doc.blocks, prevLine.path);
480
+ const currentBlock = getBlockAtPath(doc.blocks, endLine.path);
481
+ if (prevBlock &&
482
+ prevBlock.type === "paragraph" &&
483
+ currentBlock &&
484
+ currentBlock.type === "paragraph") {
485
+ const prevRuns = paragraphToRuns(prevBlock);
486
+ const currentRuns = paragraphToRuns(currentBlock);
487
+ const mergedRuns = normalizeRuns([...prevRuns, ...currentRuns]);
488
+ const nextPrevBlock = {
489
+ ...prevBlock,
490
+ content: runsToInlines(mergedRuns),
491
+ };
492
+ let nextBlocks = updateBlocksAtPath(doc.blocks, prevLine.parentPath, (blocks) => blocks.map((block, index) => index === prevLine.indexInParent ? nextPrevBlock : block));
493
+ nextBlocks = updateBlocksAtPath(nextBlocks, endLine.parentPath, (blocks) => blocks.filter((_, index) => index !== endLine.indexInParent));
494
+ const nextDoc = { ...doc, blocks: nextBlocks };
495
+ const nextLines = flattenDocToLines(nextDoc);
496
+ const lineStarts = getLineStartOffsets(nextLines);
497
+ const mergedLineIndex = nextLines.findIndex((line) => pathsEqual(line.path, prevLine.path));
498
+ const mergedLine = nextLines[mergedLineIndex];
499
+ const nextCursor = mergedLineIndex >= 0
500
+ ? (lineStarts[mergedLineIndex] ?? 0) +
501
+ (mergedLine?.cursorLength ?? 0)
502
+ : 0;
503
+ return {
504
+ doc: nextDoc,
505
+ nextCursor,
506
+ nextAffinity: "forward",
507
+ };
508
+ }
509
+ }
510
+ }
472
511
  if (!pathsEqual(startLine.parentPath, endLine.parentPath) ||
473
512
  startLine.indexInParent > endLine.indexInParent) {
474
513
  return null;
@@ -1316,175 +1355,97 @@ export function createRuntime(extensions) {
1316
1355
  }
1317
1356
  const cursorStart = Math.min(selection.start, selection.end);
1318
1357
  const cursorEnd = Math.max(selection.start, selection.end);
1319
- const from = map.cursorToSource(cursorStart, "forward");
1320
- const to = map.cursorToSource(cursorEnd, "backward");
1321
- const selectedText = source.slice(from, to);
1322
1358
  const linesForSelection = flattenDocToLines(state.doc);
1323
1359
  const commonMarks = commonMarksAcrossSelection(linesForSelection, cursorStart, cursorEnd, state.doc);
1324
- const hasCommonMark = commonMarks.some((mark) => mark.kind === markerKind);
1325
- const canUnwrap = hasCommonMark;
1360
+ const canUnwrap = commonMarks.some((mark) => mark.kind === markerKind);
1326
1361
  const startLoc = resolveCursorToLine(linesForSelection, cursorStart);
1327
1362
  const endLoc = resolveCursorToLine(linesForSelection, cursorEnd);
1328
- if (startLoc.lineIndex !== endLoc.lineIndex || selectedText.includes("\n")) {
1329
- const edits = [];
1330
- const segments = (() => {
1331
- if (!selectedText.includes("\n")) {
1332
- const lineOffsets = getLineStartOffsets(linesForSelection);
1333
- const byCursorLines = [];
1334
- for (let lineIndex = startLoc.lineIndex; lineIndex <= endLoc.lineIndex; lineIndex += 1) {
1335
- const line = linesForSelection[lineIndex];
1336
- if (!line) {
1337
- continue;
1338
- }
1339
- const lineStart = lineOffsets[lineIndex] ?? 0;
1340
- const startInLine = lineIndex === startLoc.lineIndex ? startLoc.offsetInLine : 0;
1341
- const endInLine = lineIndex === endLoc.lineIndex
1342
- ? endLoc.offsetInLine
1343
- : line.cursorLength;
1344
- if (startInLine === endInLine) {
1345
- continue;
1346
- }
1347
- const segmentStartCursor = lineStart + startInLine;
1348
- const segmentEndCursor = lineStart + endInLine;
1349
- const segmentFrom = map.cursorToSource(segmentStartCursor, "forward");
1350
- const segmentTo = map.cursorToSource(segmentEndCursor, "backward");
1351
- if (segmentFrom === segmentTo) {
1352
- continue;
1353
- }
1354
- byCursorLines.push({ from: segmentFrom, to: segmentTo });
1355
- }
1356
- return byCursorLines;
1363
+ const markerMark = {
1364
+ kind: markerKind,
1365
+ data: undefined,
1366
+ key: markKey(markerKind, undefined),
1367
+ };
1368
+ const removeMark = (marks) => {
1369
+ for (let i = marks.length - 1; i >= 0; i -= 1) {
1370
+ if (marks[i]?.kind === markerKind) {
1371
+ return [...marks.slice(0, i), ...marks.slice(i + 1)];
1357
1372
  }
1358
- const byNewlines = [];
1359
- let sliceOffset = 0;
1360
- while (sliceOffset <= selectedText.length) {
1361
- const newlineIndex = selectedText.indexOf("\n", sliceOffset);
1362
- const segmentEndOffset = newlineIndex === -1 ? selectedText.length : newlineIndex;
1363
- const segmentFrom = from + sliceOffset;
1364
- const segmentTo = from + segmentEndOffset;
1365
- if (segmentFrom !== segmentTo) {
1366
- byNewlines.push({ from: segmentFrom, to: segmentTo });
1367
- }
1368
- if (newlineIndex === -1) {
1369
- break;
1370
- }
1371
- sliceOffset = newlineIndex + 1;
1373
+ }
1374
+ return marks;
1375
+ };
1376
+ const splitRunsOnNewlines = (runs) => {
1377
+ const split = [];
1378
+ for (const run of runs) {
1379
+ if (!run.text.includes("\n")) {
1380
+ split.push(run);
1381
+ continue;
1372
1382
  }
1373
- return byNewlines;
1374
- })();
1375
- for (const segment of segments) {
1376
- const segmentFrom = segment.from;
1377
- const segmentTo = segment.to;
1378
- if (canUnwrap) {
1379
- if (segmentFrom >= openLen &&
1380
- source.slice(segmentFrom - openLen, segmentFrom) === openMarker) {
1381
- edits.push({
1382
- from: segmentFrom - openLen,
1383
- to: segmentFrom,
1384
- insert: "",
1385
- });
1383
+ const parts = run.text.split("\n");
1384
+ for (let i = 0; i < parts.length; i += 1) {
1385
+ const part = parts[i] ?? "";
1386
+ if (part) {
1387
+ split.push({ ...run, text: part });
1386
1388
  }
1387
- if (source.slice(segmentTo, segmentTo + closeLen) === closeMarker) {
1388
- edits.push({
1389
- from: segmentTo,
1390
- to: segmentTo + closeLen,
1391
- insert: "",
1392
- });
1389
+ if (i < parts.length - 1) {
1390
+ split.push({ ...run, text: "\n" });
1393
1391
  }
1394
1392
  }
1395
- else {
1396
- edits.push({ from: segmentFrom, to: segmentFrom, insert: openMarker });
1397
- edits.push({ from: segmentTo, to: segmentTo, insert: closeMarker });
1398
- }
1399
- }
1400
- if (edits.length === 0) {
1401
- return state;
1402
- }
1403
- edits.sort((a, b) => b.from - a.from);
1404
- let newSource = source;
1405
- for (const edit of edits) {
1406
- newSource =
1407
- newSource.slice(0, edit.from) +
1408
- edit.insert +
1409
- newSource.slice(edit.to);
1410
1393
  }
1411
- const next = createState(newSource);
1412
- return {
1413
- ...next,
1414
- selection: {
1415
- start: cursorStart,
1416
- end: cursorEnd,
1417
- affinity: selection.affinity ?? "forward",
1418
- },
1419
- };
1420
- }
1421
- const isSelectionWrappedByAdjacentMarkers = from >= openLen &&
1422
- source.slice(from - openLen, from) === openMarker &&
1423
- source.slice(to, to + closeLen) === closeMarker;
1424
- const isWrappedBySelectionText = selectedText.startsWith(openMarker) &&
1425
- selectedText.endsWith(closeMarker) &&
1426
- selectedText.length >= openLen + closeLen;
1427
- const isWrapped = canUnwrap &&
1428
- (isSelectionWrappedByAdjacentMarkers || isWrappedBySelectionText);
1429
- let newSource;
1430
- if (canUnwrap && !isWrapped) {
1431
- const edits = [];
1432
- const startBackward = map.cursorToSource(cursorStart, "backward");
1433
- const startForward = map.cursorToSource(cursorStart, "forward");
1434
- const endBackward = map.cursorToSource(cursorEnd, "backward");
1435
- const endForward = map.cursorToSource(cursorEnd, "forward");
1436
- const startGap = source.slice(startBackward, startForward);
1437
- const openIndex = startGap.lastIndexOf(openMarker);
1438
- if (openIndex !== -1) {
1439
- edits.push({
1440
- from: startBackward + openIndex,
1441
- to: startBackward + openIndex + openLen,
1442
- insert: "",
1443
- });
1444
- }
1445
- else {
1446
- edits.push({ from: startBackward, to: startBackward, insert: closeMarker });
1447
- }
1448
- const endGap = source.slice(endBackward, endForward);
1449
- const closeIndex = endGap.indexOf(closeMarker);
1450
- if (closeIndex !== -1) {
1451
- edits.push({
1452
- from: endBackward + closeIndex,
1453
- to: endBackward + closeIndex + closeLen,
1454
- insert: "",
1455
- });
1456
- }
1457
- else {
1458
- edits.push({ from: endForward, to: endForward, insert: openMarker });
1394
+ return split;
1395
+ };
1396
+ let nextDoc = state.doc;
1397
+ let didChange = false;
1398
+ for (let lineIndex = startLoc.lineIndex; lineIndex <= endLoc.lineIndex; lineIndex += 1) {
1399
+ const line = linesForSelection[lineIndex];
1400
+ if (!line) {
1401
+ continue;
1459
1402
  }
1460
- edits.sort((a, b) => b.from - a.from);
1461
- newSource = source;
1462
- for (const edit of edits) {
1463
- newSource =
1464
- newSource.slice(0, edit.from) +
1465
- edit.insert +
1466
- newSource.slice(edit.to);
1403
+ const startInLine = lineIndex === startLoc.lineIndex ? startLoc.offsetInLine : 0;
1404
+ const endInLine = lineIndex === endLoc.lineIndex ? endLoc.offsetInLine : line.cursorLength;
1405
+ if (startInLine === endInLine) {
1406
+ continue;
1467
1407
  }
1468
- }
1469
- else if (isWrapped) {
1470
- // Unwrap
1471
- if (isSelectionWrappedByAdjacentMarkers) {
1472
- newSource =
1473
- source.slice(0, from - openLen) +
1474
- selectedText +
1475
- source.slice(to + closeLen);
1408
+ const block = getBlockAtPath(nextDoc.blocks, line.path);
1409
+ if (!block || block.type !== "paragraph") {
1410
+ continue;
1476
1411
  }
1477
- else {
1478
- const unwrapped = selectedText.slice(openLen, -closeLen);
1479
- newSource = source.slice(0, from) + unwrapped + source.slice(to);
1412
+ const runs = paragraphToRuns(block);
1413
+ const { before, selected, after } = sliceRuns(runs, startInLine, endInLine);
1414
+ if (selected.length === 0) {
1415
+ continue;
1480
1416
  }
1417
+ const updatedSelected = splitRunsOnNewlines(selected).map((run) => {
1418
+ const isNewline = run.text === "\n";
1419
+ const nextMarks = canUnwrap
1420
+ ? removeMark(run.marks)
1421
+ : isNewline
1422
+ ? run.marks
1423
+ : [...run.marks, markerMark];
1424
+ if (!marksEqual(run.marks, nextMarks)) {
1425
+ didChange = true;
1426
+ }
1427
+ return { ...run, marks: nextMarks };
1428
+ });
1429
+ const mergedRuns = normalizeRuns([
1430
+ ...before,
1431
+ ...updatedSelected,
1432
+ ...after,
1433
+ ]);
1434
+ const nextBlock = {
1435
+ ...block,
1436
+ content: runsToInlines(mergedRuns),
1437
+ };
1438
+ const parentPath = line.path.slice(0, -1);
1439
+ const indexInParent = line.path[line.path.length - 1] ?? 0;
1440
+ nextDoc = {
1441
+ ...nextDoc,
1442
+ blocks: updateBlocksAtPath(nextDoc.blocks, parentPath, (blocks) => blocks.map((child, index) => index === indexInParent ? nextBlock : child)),
1443
+ };
1481
1444
  }
1482
- else {
1483
- // Wrap
1484
- const wrapped = openMarker + selectedText + closeMarker;
1485
- newSource = source.slice(0, from) + wrapped + source.slice(to);
1445
+ if (!didChange) {
1446
+ return state;
1486
1447
  }
1487
- const next = createState(newSource);
1448
+ const next = createStateFromDoc(nextDoc);
1488
1449
  return {
1489
1450
  ...next,
1490
1451
  selection: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blankdotpage/cake",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",