polytypo 1.10.0 → 1.11.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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.10.0",
2
+ "spec": "1.11.0",
3
3
  "locale": "en-US",
4
4
  "cases": [
5
5
  {
@@ -3118,8 +3118,8 @@
3118
3118
  "slug"
3119
3119
  ],
3120
3120
  "in": "---\ntitle: a \"b\"\nslug: c \"d\"\n\r---\n\nBody \"q\" here.\n",
3121
- "out": "---\ntitle: a “b”\nslug: c \"d\"\n\r---\n\nBody “q” here.\n",
3122
- "note": "modes.md §3.7.4: the content's last line is a lone U+000D, and `title` converts while `slug` does not. What this case discriminates is an implementation that substitutes the U+000D for another declining character: that converts both keys. What it does NOT discriminate is the per-line filter itself — measured in three ports, `slug` is already silent before the filter runs, because the trailing line is blank and joins `slug`'s value run, which §3.8.6's continuation bail declines. The cases that exercise the filter are -keys-lone-cr-one-key and -keys-lone-cr-costs-one-line."
3121
+ "out": "---\ntitle: a “b”\nslug: c “d”\n\r---\n\nBody “q” here.\n",
3122
+ "note": "modes.md §3.7.4 and §3.8.4 step 7: the content's last line is a lone U+000D on a line of its own, and both `title` and `slug` convert. That line is blank to the value-run test, so it is not a continuation line of `slug` (1.11.0; until then it joined `slug`'s run and silenced it, which this note used to describe as the point of the case). What the case discriminates now is an implementation that substitutes the U+000D for another declining character such as U+0009: that makes the last line non-blank and silences `slug`. The per-line filter itself is exercised by -keys-lone-cr-one-key and -keys-lone-cr-costs-one-line."
3123
3123
  },
3124
3124
  {
3125
3125
  "id": "en-us-markdown-commonmark-frontmatter-keys-lone-cr-in-a-value-run",
@@ -3275,6 +3275,883 @@
3275
3275
  "in": "title: a\r#c -- d\n",
3276
3276
  "out": "title: a\r#c -- d\n",
3277
3277
  "note": "modes.md §3.8.4 step 9: YAML 1.2 reads `<CR>#c -- d` as a comment line, which step 2 declines when it starts a line. The LF-only model sees one line, so the decline has to be on the carriage return itself."
3278
+ },
3279
+ {
3280
+ "id": "en-us-yaml-double-quoted-trailing-blank-line",
3281
+ "rule": "dashes",
3282
+ "mode": "yaml",
3283
+ "keys": [
3284
+ "title",
3285
+ "slug",
3286
+ "summary"
3287
+ ],
3288
+ "in": "title: \"a -- b\"\n\n",
3289
+ "out": "title: \"a—b\"\n\n",
3290
+ "note": "modes.md §3.8.4 step 7 and §3.8.6 (spec 1.11.0): blank lines after a closed quoted scalar are not a continuation line, so a file that ends in a blank line converts exactly as the same file without it. Until 1.11.0 the run being non-empty silenced the scalar in every runtime."
3291
+ },
3292
+ {
3293
+ "id": "en-us-yaml-single-quoted-trailing-blank-line",
3294
+ "rule": "dashes",
3295
+ "mode": "yaml",
3296
+ "keys": [
3297
+ "title",
3298
+ "slug",
3299
+ "summary"
3300
+ ],
3301
+ "in": "title: 'a -- b'\n\n",
3302
+ "out": "title: 'a—b'\n\n",
3303
+ "note": "modes.md §3.8.6 (spec 1.11.0): the single-quoted form of the trailing blank line."
3304
+ },
3305
+ {
3306
+ "id": "en-us-yaml-plain-trailing-blank-line",
3307
+ "rule": "dashes",
3308
+ "mode": "yaml",
3309
+ "keys": [
3310
+ "title",
3311
+ "slug",
3312
+ "summary"
3313
+ ],
3314
+ "in": "summary: the one -- here\n\n",
3315
+ "out": "summary: the one—here\n\n",
3316
+ "note": "modes.md §3.8.6 continuation bail (spec 1.11.0): trailing blank lines are not a continuation line, so a plain scalar followed by a blank line is not a multi-line plain scalar."
3317
+ },
3318
+ {
3319
+ "id": "en-us-yaml-blank-line-between-mappings",
3320
+ "rule": "dashes",
3321
+ "mode": "yaml",
3322
+ "keys": [
3323
+ "title",
3324
+ "slug",
3325
+ "summary"
3326
+ ],
3327
+ "in": "title: \"a -- b\"\n\nslug: c -- d\n",
3328
+ "out": "title: \"a—b\"\n\nslug: c—d\n",
3329
+ "note": "modes.md §3.8.4 step 7 (spec 1.11.0): a blank line between two mappings belongs to the first value's run and is not a continuation line, so both values convert."
3330
+ },
3331
+ {
3332
+ "id": "en-us-yaml-quoted-continuation-line-declined",
3333
+ "rule": "dashes",
3334
+ "mode": "yaml",
3335
+ "keys": [
3336
+ "title",
3337
+ "slug",
3338
+ "summary"
3339
+ ],
3340
+ "in": "title: \"a -- b\"\n more -- c\n",
3341
+ "out": "title: \"a -- b\"\n more -- c\n",
3342
+ "note": "modes.md §3.8.6 (spec 1.11.0): a non-blank, more-indented line after a closed quoted scalar is a continuation line and the scalar yields no spans. Pinned so that narrowing the bail for blank lines does not widen it for this."
3343
+ },
3344
+ {
3345
+ "id": "en-us-yaml-plain-continuation-after-blank-declined",
3346
+ "rule": "dashes",
3347
+ "mode": "yaml",
3348
+ "keys": [
3349
+ "title",
3350
+ "slug",
3351
+ "summary"
3352
+ ],
3353
+ "in": "summary: a -- b\n\n more -- c\n",
3354
+ "out": "summary: a -- b\n\n more -- c\n",
3355
+ "note": "modes.md §3.8.6 continuation bail (spec 1.11.0): a blank line followed by a more-indented line is a genuine multi-line plain scalar, which YAML folds. The blank line does not hide the continuation line behind it."
3356
+ },
3357
+ {
3358
+ "id": "en-us-yaml-tab-line-is-not-blank-after-quoted",
3359
+ "rule": "dashes",
3360
+ "mode": "yaml",
3361
+ "keys": [
3362
+ "title",
3363
+ "slug",
3364
+ "summary"
3365
+ ],
3366
+ "in": "title: \"a -- b\"\n \t\n",
3367
+ "out": "title: \"a -- b\"\n \t\n",
3368
+ "note": "modes.md §3.8.4 step 1 and step 7 (spec 1.11.0): a line holding U+0009 is not blank, so it is a continuation line and the quoted scalar yields no spans. A port that tests blankness with a trim converts this."
3369
+ },
3370
+ {
3371
+ "id": "en-us-yaml-cr-line-is-not-blank-after-quoted",
3372
+ "rule": "dashes",
3373
+ "mode": "yaml",
3374
+ "keys": [
3375
+ "title",
3376
+ "slug",
3377
+ "summary"
3378
+ ],
3379
+ "in": "title: \"a -- b\"\n \r \n",
3380
+ "out": "title: \"a -- b\"\n \r \n",
3381
+ "note": "modes.md §3.8.4 step 1 and step 7 (spec 1.11.0): a lone U+000D makes a line non-blank, so it is a continuation line and the quoted scalar yields no spans."
3382
+ },
3383
+ {
3384
+ "id": "en-us-yaml-crlf-blank-line-after-quoted",
3385
+ "rule": "dashes",
3386
+ "mode": "yaml",
3387
+ "keys": [
3388
+ "title",
3389
+ "slug",
3390
+ "summary"
3391
+ ],
3392
+ "in": "title: \"a -- b\"\r\n\r\n",
3393
+ "out": "title: \"a—b\"\r\n\r\n",
3394
+ "note": "modes.md §3.8.4 (spec 1.11.0): a U+000D before U+000A is a terminator, so the second line is empty and blank, and the quoted scalar converts."
3395
+ },
3396
+ {
3397
+ "id": "en-us-yaml-blank-then-less-indented-key",
3398
+ "rule": "dashes",
3399
+ "mode": "yaml",
3400
+ "keys": [
3401
+ "title",
3402
+ "slug",
3403
+ "summary"
3404
+ ],
3405
+ "in": "meta:\n title: \"a -- b\"\n\nslug: c -- d\n",
3406
+ "out": "meta:\n title: \"a—b\"\n\nslug: c—d\n",
3407
+ "note": "modes.md §3.8.4 step 7 (spec 1.11.0): the blank line is followed by a less-indented line, which ends the run; both values convert."
3408
+ },
3409
+ {
3410
+ "id": "en-us-yaml-blank-then-column-zero-comment",
3411
+ "rule": "dashes",
3412
+ "mode": "yaml",
3413
+ "keys": [
3414
+ "title",
3415
+ "slug",
3416
+ "summary"
3417
+ ],
3418
+ "in": "title: \"a -- b\"\n\n# c\n",
3419
+ "out": "title: \"a—b\"\n\n# c\n",
3420
+ "note": "modes.md §3.8.4 step 7 (spec 1.11.0): the column-0 comment is not more indented, so it ends the run and the quoted scalar converts."
3421
+ },
3422
+ {
3423
+ "id": "en-us-yaml-indented-comment-after-quoted-declined",
3424
+ "rule": "dashes",
3425
+ "mode": "yaml",
3426
+ "keys": [
3427
+ "title",
3428
+ "slug",
3429
+ "summary"
3430
+ ],
3431
+ "in": "title: \"a -- b\"\n # c\n",
3432
+ "out": "title: \"a -- b\"\n # c\n",
3433
+ "note": "modes.md §3.8.6 and §7.11 (spec 1.11.0): a more-indented comment line is a continuation line to this scan, so the quoted scalar yields no spans. A valid document, missed rather than damaged."
3434
+ },
3435
+ {
3436
+ "id": "en-us-yaml-sequence-item-second-key-declined",
3437
+ "rule": "dashes",
3438
+ "mode": "yaml",
3439
+ "keys": [
3440
+ "title",
3441
+ "slug",
3442
+ "summary"
3443
+ ],
3444
+ "in": "- title: \"a -- b\"\n slug: c -- d\n",
3445
+ "out": "- title: \"a -- b\"\n slug: c -- d\n",
3446
+ "note": "modes.md §7.11 (spec 1.11.0): in a sequence item the second key counts as more indented than the first, so `title`'s quoted scalar sees a continuation line and yields no spans; `slug` is consumed as part of that run. Pinned as the accepted miss it is."
3447
+ },
3448
+ {
3449
+ "id": "en-us-markdown-commonmark-frontmatter-keys-blank-lines",
3450
+ "rule": "dashes",
3451
+ "mode": "markdown",
3452
+ "dialect": "commonmark",
3453
+ "frontmatterKeys": [
3454
+ "title",
3455
+ "slug"
3456
+ ],
3457
+ "in": "---\ntitle: \"a -- b\"\n\nslug: c -- d\n\n---\n\nBody -- here.\n",
3458
+ "out": "---\ntitle: \"a—b\"\n\nslug: c—d\n\n---\n\nBody—here.\n",
3459
+ "note": "modes.md §3.7.4 and §3.8.4 step 7 (spec 1.11.0): blank lines between frontmatter entries and before the closing delimiter are not continuation lines, so both values convert. The block reuses the yaml scan, so this is the same change seen through markdown mode."
3460
+ },
3461
+ {
3462
+ "id": "en-us-yaml-cr-region-block-scalar-payload",
3463
+ "rule": "dashes",
3464
+ "mode": "yaml",
3465
+ "keys": [
3466
+ "title"
3467
+ ],
3468
+ "in": "run: |\n echo a\n\r x\n title: c -- d\n",
3469
+ "out": "run: |\n echo a\n\r x\n title: c -- d\n",
3470
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): the line `\\r x` has indent 0 under the LF-only line model and ends the unlisted `run:` block's value run, so the next line used to be scanned as a mapping line of its own and converted. A line carrying a U+000D opens a region that runs to the first non-empty line in column 0 without one, and nothing in it yields a span. polytypo/polytypo#63."
3471
+ },
3472
+ {
3473
+ "id": "en-us-yaml-cr-region-key-opens-inside-the-cr-line",
3474
+ "rule": "dashes",
3475
+ "mode": "yaml",
3476
+ "keys": [
3477
+ "title"
3478
+ ],
3479
+ "in": "k:\n a\rrun: |\n title: c -- d\n",
3480
+ "out": "k:\n a\rrun: |\n title: c -- d\n",
3481
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): a key shape opens inside the line that carries the U+000D, deeper than the piece after it. A region floored at the line's own indent misses this; the floor is column 0."
3482
+ },
3483
+ {
3484
+ "id": "en-us-yaml-cr-region-line-inside-another-run",
3485
+ "rule": "dashes",
3486
+ "mode": "yaml",
3487
+ "keys": [
3488
+ "title"
3489
+ ],
3490
+ "in": "a:\n run: |\n echo\n x\rfoo: |\n title: c -- d\n",
3491
+ "out": "a:\n run: |\n echo\n x\rfoo: |\n title: c -- d\n",
3492
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): the line with the U+000D is consumed by another key's value run and never visited by the scan as a line of its own; the region is computed over all lines, not only visited ones."
3493
+ },
3494
+ {
3495
+ "id": "en-us-yaml-cr-region-comment-line",
3496
+ "rule": "dashes",
3497
+ "mode": "yaml",
3498
+ "keys": [
3499
+ "title"
3500
+ ],
3501
+ "in": "# note\rrun: |\n echo\n title: c -- d\n",
3502
+ "out": "# note\rrun: |\n echo\n title: c -- d\n",
3503
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): the U+000D sits on a comment line, where no key is found; the region does not depend on the line having a key shape."
3504
+ },
3505
+ {
3506
+ "id": "en-us-yaml-cr-region-ends-at-column-zero",
3507
+ "rule": "dashes",
3508
+ "mode": "yaml",
3509
+ "keys": [
3510
+ "slug"
3511
+ ],
3512
+ "in": "run: |\n echo a\n\r x\nslug: c -- d\n",
3513
+ "out": "run: |\n echo a\n\r x\nslug: c—d\n",
3514
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): control: the first non-empty line in column 0 without a U+000D ends the region, so `slug` converts."
3515
+ },
3516
+ {
3517
+ "id": "en-us-yaml-cr-region-nested-cost",
3518
+ "rule": "dashes",
3519
+ "mode": "yaml",
3520
+ "keys": [
3521
+ "title"
3522
+ ],
3523
+ "in": "info:\n a: x\r b: y\n title: c -- d\n",
3524
+ "out": "info:\n a: x\r b: y\n title: c -- d\n",
3525
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): the accepted cost: in a nested document the region reaches to the next column-0 line, so a real listed key after a U+000D is declined. A miss, never damage."
3526
+ },
3527
+ {
3528
+ "id": "en-us-yaml-cr-region-document-marker-cost",
3529
+ "rule": "dashes",
3530
+ "mode": "yaml",
3531
+ "keys": [
3532
+ "title"
3533
+ ],
3534
+ "in": "---\rinfo:\n title: a -- b\n",
3535
+ "out": "---\rinfo:\n title: a -- b\n",
3536
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): the accepted cost: a document marker whose line carries a U+000D opens a region too."
3537
+ },
3538
+ {
3539
+ "id": "en-us-yaml-cr-region-crlf-is-a-terminator",
3540
+ "rule": "dashes",
3541
+ "mode": "yaml",
3542
+ "keys": [
3543
+ "title"
3544
+ ],
3545
+ "in": "info:\r\n title: a -- b\r\n",
3546
+ "out": "info:\r\n title: a—b\r\n",
3547
+ "note": "modes.md §3.8.4's carriage-return region (spec 1.11.0): control: a U+000D before U+000A is a terminator and belongs to no line, so it opens no region."
3548
+ },
3549
+ {
3550
+ "id": "en-us-markdown-commonmark-frontmatter-keys-cr-region",
3551
+ "rule": "dashes",
3552
+ "mode": "markdown",
3553
+ "dialect": "commonmark",
3554
+ "frontmatterKeys": [
3555
+ "title"
3556
+ ],
3557
+ "in": "---\nrun: |\n echo a\n\r x\n title: c -- d\n---\n\nBody \"q\" here.\n",
3558
+ "out": "---\nrun: |\n echo a\n\r x\n title: c -- d\n---\n\nBody “q” here.\n",
3559
+ "note": "modes.md §3.7.4 and §3.8.4's carriage-return region (spec 1.11.0): the frontmatter block reuses the yaml scan, so the unlisted block's payload is declined there too and only the body converts."
3560
+ },
3561
+ {
3562
+ "id": "en-us-yaml-leak-seq-literal-block",
3563
+ "rule": "dashes",
3564
+ "mode": "yaml",
3565
+ "keys": [
3566
+ "title"
3567
+ ],
3568
+ "in": "- |\n title: c -- d\n",
3569
+ "out": "- |\n title: c -- d\n",
3570
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a literal block scalar opened on a sequence entry; YAML reads `title: c -- d` as its content. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3571
+ },
3572
+ {
3573
+ "id": "en-us-yaml-leak-seq-folded-block",
3574
+ "rule": "dashes",
3575
+ "mode": "yaml",
3576
+ "keys": [
3577
+ "title"
3578
+ ],
3579
+ "in": "- >\n title: c -- d\n",
3580
+ "out": "- >\n title: c -- d\n",
3581
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): the folded form of the same. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3582
+ },
3583
+ {
3584
+ "id": "en-us-yaml-leak-own-line-block-header",
3585
+ "rule": "dashes",
3586
+ "mode": "yaml",
3587
+ "keys": [
3588
+ "title"
3589
+ ],
3590
+ "in": "run:\n |\n title: c -- d\n",
3591
+ "out": "run:\n |\n title: c -- d\n",
3592
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a block scalar header on a line of its own under an empty-valued key. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3593
+ },
3594
+ {
3595
+ "id": "en-us-yaml-leak-seq-double-quoted",
3596
+ "rule": "dashes",
3597
+ "mode": "yaml",
3598
+ "keys": [
3599
+ "title"
3600
+ ],
3601
+ "in": "- \"x\n title: c -- d\"\n",
3602
+ "out": "- \"x\n title: c -- d\"\n",
3603
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a double-quoted scalar that continues onto the next line. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3604
+ },
3605
+ {
3606
+ "id": "en-us-yaml-leak-seq-single-quoted",
3607
+ "rule": "dashes",
3608
+ "mode": "yaml",
3609
+ "keys": [
3610
+ "title"
3611
+ ],
3612
+ "in": "- 'x\n title: c -- d'\n",
3613
+ "out": "- 'x\n title: c -- d'\n",
3614
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): the single-quoted form; the closing quote used to be turned into U+2019. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3615
+ },
3616
+ {
3617
+ "id": "en-us-yaml-leak-quoted-key-block",
3618
+ "rule": "dashes",
3619
+ "mode": "yaml",
3620
+ "keys": [
3621
+ "title"
3622
+ ],
3623
+ "in": "\"a\": |\n title: c -- d\n",
3624
+ "out": "\"a\": |\n title: c -- d\n",
3625
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a quoted key whose value is a block scalar. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3626
+ },
3627
+ {
3628
+ "id": "en-us-yaml-leak-special-char-key-block",
3629
+ "rule": "dashes",
3630
+ "mode": "yaml",
3631
+ "keys": [
3632
+ "title"
3633
+ ],
3634
+ "in": "a!b: |\n title: c -- d\n",
3635
+ "out": "a!b: |\n title: c -- d\n",
3636
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a key holding a character step 5 declines, whose value is a block scalar. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3637
+ },
3638
+ {
3639
+ "id": "en-us-yaml-leak-special-char-key-quoted",
3640
+ "rule": "dashes",
3641
+ "mode": "yaml",
3642
+ "keys": [
3643
+ "title"
3644
+ ],
3645
+ "in": "a!b: \"x\n title: c -- d\"\n",
3646
+ "out": "a!b: \"x\n title: c -- d\"\n",
3647
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): the same key with a quoted value that continues. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3648
+ },
3649
+ {
3650
+ "id": "en-us-yaml-leak-seq-flow-sequence",
3651
+ "rule": "dashes",
3652
+ "mode": "yaml",
3653
+ "keys": [
3654
+ "title"
3655
+ ],
3656
+ "in": "- [a,\n title: c -- d]\n",
3657
+ "out": "- [a,\n title: c -- d]\n",
3658
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a flow sequence opened on a sequence entry. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3659
+ },
3660
+ {
3661
+ "id": "en-us-yaml-leak-seq-flow-mapping",
3662
+ "rule": "dashes",
3663
+ "mode": "yaml",
3664
+ "keys": [
3665
+ "title"
3666
+ ],
3667
+ "in": "- {a: 1,\n title: c -- d}\n",
3668
+ "out": "- {a: 1,\n title: c -- d}\n",
3669
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a flow mapping opened on a sequence entry. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3670
+ },
3671
+ {
3672
+ "id": "en-us-yaml-leak-seq-anchored-block",
3673
+ "rule": "dashes",
3674
+ "mode": "yaml",
3675
+ "keys": [
3676
+ "title"
3677
+ ],
3678
+ "in": "- &x |\n title: c -- d\n",
3679
+ "out": "- &x |\n title: c -- d\n",
3680
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): an anchored block scalar. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3681
+ },
3682
+ {
3683
+ "id": "en-us-yaml-leak-seq-tagged-block",
3684
+ "rule": "dashes",
3685
+ "mode": "yaml",
3686
+ "keys": [
3687
+ "title"
3688
+ ],
3689
+ "in": "- !!str |\n title: c -- d\n",
3690
+ "out": "- !!str |\n title: c -- d\n",
3691
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a tagged block scalar. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3692
+ },
3693
+ {
3694
+ "id": "en-us-yaml-leak-own-line-anchored-block",
3695
+ "rule": "dashes",
3696
+ "mode": "yaml",
3697
+ "keys": [
3698
+ "title"
3699
+ ],
3700
+ "in": "run:\n &x |\n title: c -- d\n",
3701
+ "out": "run:\n &x |\n title: c -- d\n",
3702
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): an anchored block scalar on a line of its own. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3703
+ },
3704
+ {
3705
+ "id": "en-us-yaml-leak-nested-seq-block",
3706
+ "rule": "dashes",
3707
+ "mode": "yaml",
3708
+ "keys": [
3709
+ "title"
3710
+ ],
3711
+ "in": "run:\n - |\n title: c -- d\n",
3712
+ "out": "run:\n - |\n title: c -- d\n",
3713
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a block scalar in a sequence entry nested under a key. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3714
+ },
3715
+ {
3716
+ "id": "en-us-yaml-leak-explicit-key-block",
3717
+ "rule": "dashes",
3718
+ "mode": "yaml",
3719
+ "keys": [
3720
+ "title"
3721
+ ],
3722
+ "in": "? |\n title: c -- d\n: v\n",
3723
+ "out": "? |\n title: c -- d\n: v\n",
3724
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a block scalar as an explicit key. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3725
+ },
3726
+ {
3727
+ "id": "en-us-yaml-leak-explicit-value-block",
3728
+ "rule": "dashes",
3729
+ "mode": "yaml",
3730
+ "keys": [
3731
+ "title"
3732
+ ],
3733
+ "in": "? a\n: |\n title: c -- d\n",
3734
+ "out": "? a\n: |\n title: c -- d\n",
3735
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a block scalar as the value of an explicit key. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3736
+ },
3737
+ {
3738
+ "id": "en-us-yaml-leak-escaped-quote-not-a-key",
3739
+ "rule": "dashes",
3740
+ "mode": "yaml",
3741
+ "keys": [
3742
+ "title"
3743
+ ],
3744
+ "in": "- \"a\\\": x\n title: c -- d\"\n",
3745
+ "out": "- \"a\\\": x\n title: c -- d\"\n",
3746
+ "note": "modes.md §3.8.4 step 5 (spec 1.11.0, polytypo#64): a U+005C and the code point after it never close a double quote, so the quote opened after `- ` has no close on the line, the line is a node line and absorbs the line under it. Until 1.11.0 `title` converted."
3747
+ },
3748
+ {
3749
+ "id": "en-us-yaml-leak-escaped-quote-key-block",
3750
+ "rule": "dashes",
3751
+ "mode": "yaml",
3752
+ "keys": [
3753
+ "title"
3754
+ ],
3755
+ "in": "\"a\\\"b\": |\n title: c -- d\n",
3756
+ "out": "\"a\\\"b\": |\n title: c -- d\n",
3757
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a quoted key holding an escape, whose value is a block scalar. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3758
+ },
3759
+ {
3760
+ "id": "en-us-yaml-leak-doubled-quote-not-a-key",
3761
+ "rule": "dashes",
3762
+ "mode": "yaml",
3763
+ "keys": [
3764
+ "title"
3765
+ ],
3766
+ "in": "- 'a'': x\n title: c -- d'\n",
3767
+ "out": "- 'a'': x\n title: c -- d'\n",
3768
+ "note": "modes.md §3.8.4 step 5 (spec 1.11.0, polytypo#64): `''` is one unit inside a single-quoted scalar, so the quote after `a'` does not close it, the line is a node line and absorbs the line under it. Until 1.11.0 `title` converted and the closing quote became U+2019."
3769
+ },
3770
+ {
3771
+ "id": "en-us-yaml-leak-own-line-flow",
3772
+ "rule": "dashes",
3773
+ "mode": "yaml",
3774
+ "keys": [
3775
+ "title"
3776
+ ],
3777
+ "in": "run:\n [a,\n title: c -- d]\n",
3778
+ "out": "run:\n [a,\n title: c -- d]\n",
3779
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a flow sequence on a line of its own, whose continuation sits at the opening line's indent. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3780
+ },
3781
+ {
3782
+ "id": "en-us-yaml-leak-own-line-quote",
3783
+ "rule": "dashes",
3784
+ "mode": "yaml",
3785
+ "keys": [
3786
+ "title"
3787
+ ],
3788
+ "in": "run:\n \"x\n title: c -- d\"\n",
3789
+ "out": "run:\n \"x\n title: c -- d\"\n",
3790
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a quote opened on a line of its own, continued at the same indent. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3791
+ },
3792
+ {
3793
+ "id": "en-us-yaml-leak-own-line-quote-deeper",
3794
+ "rule": "dashes",
3795
+ "mode": "yaml",
3796
+ "keys": [
3797
+ "title"
3798
+ ],
3799
+ "in": "run:\n \"x\n title: c -- d\"\n",
3800
+ "out": "run:\n \"x\n title: c -- d\"\n",
3801
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a quote opened deeper than its continuation. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3802
+ },
3803
+ {
3804
+ "id": "en-us-yaml-leak-own-line-block-header-same-indent",
3805
+ "rule": "dashes",
3806
+ "mode": "yaml",
3807
+ "keys": [
3808
+ "title"
3809
+ ],
3810
+ "in": "run:\n |\n title: c -- d\n",
3811
+ "out": "run:\n |\n title: c -- d\n",
3812
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a block scalar header whose content sits at the header's own indent. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3813
+ },
3814
+ {
3815
+ "id": "en-us-yaml-leak-root-quote",
3816
+ "rule": "dashes",
3817
+ "mode": "yaml",
3818
+ "keys": [
3819
+ "title"
3820
+ ],
3821
+ "in": "\"x\ntitle: c -- d\"\n",
3822
+ "out": "\"x\ntitle: c -- d\"\n",
3823
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): a quoted scalar at the root of the document. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3824
+ },
3825
+ {
3826
+ "id": "en-us-yaml-leak-tab-line",
3827
+ "rule": "dashes",
3828
+ "mode": "yaml",
3829
+ "keys": [
3830
+ "title"
3831
+ ],
3832
+ "in": "a: \"x\ty\n title: c -- d\"\n",
3833
+ "out": "a: \"x\ty\n title: c -- d\"\n",
3834
+ "note": "modes.md §3.8.4 step 1 (spec 1.11.0, polytypo#64): a line with a tab yields no spans, but steps 2 to 7 still decide what it absorbs, and the quoted scalar it opens owns the line under it. Until 1.11.0 that line was scanned as a mapping line and `title` converted."
3835
+ },
3836
+ {
3837
+ "id": "en-us-yaml-leak-document-marker-block",
3838
+ "rule": "dashes",
3839
+ "mode": "yaml",
3840
+ "keys": [
3841
+ "title"
3842
+ ],
3843
+ "in": "--- |\n title: c -- d\n",
3844
+ "out": "--- |\n title: c -- d\n",
3845
+ "note": "modes.md §3.8.4 step 3 (spec 1.11.0, polytypo#64): a block scalar introduced on a document marker line in column 0. The marker absorbs the document, so `title` is not read as a key. Until 1.11.0 it converted."
3846
+ },
3847
+ {
3848
+ "id": "en-us-yaml-leak-document-marker-block-column-zero",
3849
+ "rule": "dashes",
3850
+ "mode": "yaml",
3851
+ "keys": [
3852
+ "title"
3853
+ ],
3854
+ "in": "--- |\ntitle: c -- d\n",
3855
+ "out": "--- |\ntitle: c -- d\n",
3856
+ "note": "modes.md §3.8.4 steps 3 to 7 (spec 1.11.0, polytypo#64): the same with content in column 0. A line that opens a node and is not a listed key's value absorbs the lines under it, so `title` is not scanned as a key. Until 1.11.0 it was, and converted."
3857
+ },
3858
+ {
3859
+ "id": "en-us-yaml-ok-empty-item-mapping",
3860
+ "rule": "dashes",
3861
+ "mode": "yaml",
3862
+ "keys": [
3863
+ "title"
3864
+ ],
3865
+ "in": "-\n title: c -- d\n",
3866
+ "out": "-\n title: c—d\n",
3867
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a sequence marker with nothing after it opens a nested mapping, whose lines are scanned."
3868
+ },
3869
+ {
3870
+ "id": "en-us-yaml-ok-nested-empty-items",
3871
+ "rule": "dashes",
3872
+ "mode": "yaml",
3873
+ "keys": [
3874
+ "title"
3875
+ ],
3876
+ "in": "- -\n title: c -- d\n",
3877
+ "out": "- -\n title: c—d\n",
3878
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: nested empty sequence markers."
3879
+ },
3880
+ {
3881
+ "id": "en-us-yaml-ok-quoted-key-sibling",
3882
+ "rule": "dashes",
3883
+ "mode": "yaml",
3884
+ "keys": [
3885
+ "title"
3886
+ ],
3887
+ "in": "- \"a\": 1\n title: c -- d\n",
3888
+ "out": "- \"a\": 1\n title: c—d\n",
3889
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a quoted key closes on its line and is followed by a colon, so `title` is a sibling key and converts."
3890
+ },
3891
+ {
3892
+ "id": "en-us-yaml-ok-single-quoted-key-sibling",
3893
+ "rule": "dashes",
3894
+ "mode": "yaml",
3895
+ "keys": [
3896
+ "title"
3897
+ ],
3898
+ "in": "- 'a''b': 1\n title: c -- d\n",
3899
+ "out": "- 'a''b': 1\n title: c—d\n",
3900
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: the single-quoted form with `''` in the key."
3901
+ },
3902
+ {
3903
+ "id": "en-us-yaml-ok-quoted-key-nested",
3904
+ "rule": "dashes",
3905
+ "mode": "yaml",
3906
+ "keys": [
3907
+ "title"
3908
+ ],
3909
+ "in": "\"k\":\n title: c -- d\n",
3910
+ "out": "\"k\":\n title: c—d\n",
3911
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a quoted key with an empty value opens a nested mapping."
3912
+ },
3913
+ {
3914
+ "id": "en-us-yaml-ok-quoted-item-then-item",
3915
+ "rule": "dashes",
3916
+ "mode": "yaml",
3917
+ "keys": [
3918
+ "title"
3919
+ ],
3920
+ "in": "- \"x\"\n- title: c -- d\n",
3921
+ "out": "- \"x\"\n- title: c—d\n",
3922
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a closed quoted scalar followed by a sibling entry."
3923
+ },
3924
+ {
3925
+ "id": "en-us-yaml-ok-block-item-then-item",
3926
+ "rule": "dashes",
3927
+ "mode": "yaml",
3928
+ "keys": [
3929
+ "title"
3930
+ ],
3931
+ "in": "- |\n a\n- title: c -- d\n",
3932
+ "out": "- |\n a\n- title: c—d\n",
3933
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a block scalar ends at the next entry at its own indent."
3934
+ },
3935
+ {
3936
+ "id": "en-us-yaml-ok-quoted-item-blank-then-key",
3937
+ "rule": "dashes",
3938
+ "mode": "yaml",
3939
+ "keys": [
3940
+ "title"
3941
+ ],
3942
+ "in": "- \"x\"\n\ntitle: c -- d\n",
3943
+ "out": "- \"x\"\n\ntitle: c—d\n",
3944
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a blank line and a column-0 key after a closed quoted scalar."
3945
+ },
3946
+ {
3947
+ "id": "en-us-yaml-ok-special-char-key-sibling",
3948
+ "rule": "dashes",
3949
+ "mode": "yaml",
3950
+ "keys": [
3951
+ "title"
3952
+ ],
3953
+ "in": "- a!b: 1\n title: c -- d\n",
3954
+ "out": "- a!b: 1\n title: c—d\n",
3955
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a declined key with a plain value absorbs nothing."
3956
+ },
3957
+ {
3958
+ "id": "en-us-yaml-ok-quoted-key-comment",
3959
+ "rule": "dashes",
3960
+ "mode": "yaml",
3961
+ "keys": [
3962
+ "title"
3963
+ ],
3964
+ "in": "\"a\": # note\n title: c -- d\n",
3965
+ "out": "\"a\": # note\n title: c—d\n",
3966
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a quoted key with only a comment after the colon absorbs nothing."
3967
+ },
3968
+ {
3969
+ "id": "en-us-yaml-ok-quoted-key-quoted-value",
3970
+ "rule": "dashes",
3971
+ "mode": "yaml",
3972
+ "keys": [
3973
+ "title"
3974
+ ],
3975
+ "in": "- \"a\": \"b\"\n title: c -- d\n",
3976
+ "out": "- \"a\": \"b\"\n title: c—d\n",
3977
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a quoted key whose quoted value closes cleanly absorbs nothing."
3978
+ },
3979
+ {
3980
+ "id": "en-us-yaml-ok-comment-line-in-nest",
3981
+ "rule": "dashes",
3982
+ "mode": "yaml",
3983
+ "keys": [
3984
+ "title"
3985
+ ],
3986
+ "in": "info:\n# c\n title: c -- d\n",
3987
+ "out": "info:\n# c\n title: c—d\n",
3988
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a comment line absorbs nothing."
3989
+ },
3990
+ {
3991
+ "id": "en-us-yaml-ok-comment-after-marker",
3992
+ "rule": "dashes",
3993
+ "mode": "yaml",
3994
+ "keys": [
3995
+ "title"
3996
+ ],
3997
+ "in": "- # c\n title: c -- d\n",
3998
+ "out": "- # c\n title: c—d\n",
3999
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a sequence marker followed only by a comment opens a nested mapping."
4000
+ },
4001
+ {
4002
+ "id": "en-us-yaml-ok-crlf-quoted-key-nested",
4003
+ "rule": "dashes",
4004
+ "mode": "yaml",
4005
+ "keys": [
4006
+ "title"
4007
+ ],
4008
+ "in": "\"k\":\r\n title: c -- d\r\n",
4009
+ "out": "\"k\":\r\n title: c—d\r\n",
4010
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: CRLF terminators change nothing."
4011
+ },
4012
+ {
4013
+ "id": "en-us-yaml-ok-openapi-path",
4014
+ "rule": "dashes",
4015
+ "mode": "yaml",
4016
+ "keys": [
4017
+ "summary"
4018
+ ],
4019
+ "in": "paths:\n /users/{id}:\n get:\n summary: c -- d\n",
4020
+ "out": "paths:\n /users/{id}:\n get:\n summary: c—d\n",
4021
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: an OpenAPI path key with braces has an empty value and absorbs nothing, so the operations under it are scanned."
4022
+ },
4023
+ {
4024
+ "id": "en-us-yaml-ok-explicit-value-mapping",
4025
+ "rule": "dashes",
4026
+ "mode": "yaml",
4027
+ "keys": [
4028
+ "title"
4029
+ ],
4030
+ "in": "? a\n: title: c -- d\n",
4031
+ "out": "? a\n: title: c—d\n",
4032
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: a mapping as the value of an explicit key converts."
4033
+ },
4034
+ {
4035
+ "id": "en-us-yaml-cost-anchor-only-line",
4036
+ "rule": "dashes",
4037
+ "mode": "yaml",
4038
+ "keys": [
4039
+ "title"
4040
+ ],
4041
+ "in": "- &x\n title: c -- d\n",
4042
+ "out": "- &x\n title: c -- d\n",
4043
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): accepted miss (§7.11): a line holding only an anchor opens a nested node that YAML reads as a mapping, but the scan absorbs its lines."
4044
+ },
4045
+ {
4046
+ "id": "en-us-yaml-cost-quoted-key-block-sibling",
4047
+ "rule": "dashes",
4048
+ "mode": "yaml",
4049
+ "keys": [
4050
+ "title"
4051
+ ],
4052
+ "in": "- \"a\": |\n title: c -- d\n",
4053
+ "out": "- \"a\": |\n title: c -- d\n",
4054
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): accepted miss (§7.11): a declined key with a block scalar absorbs a sibling at the entry's indent that YAML reads as a key."
4055
+ },
4056
+ {
4057
+ "id": "en-us-yaml-cost-own-line-region-sibling",
4058
+ "rule": "dashes",
4059
+ "mode": "yaml",
4060
+ "keys": [
4061
+ "title"
4062
+ ],
4063
+ "in": "info:\n description:\n \"x\n y\"\n title: c -- d\n",
4064
+ "out": "info:\n description:\n \"x\n y\"\n title: c -- d\n",
4065
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): accepted miss (§7.11): the own-line region ends only at column 0, so a sibling key at a deeper indent is absorbed."
4066
+ },
4067
+ {
4068
+ "id": "en-us-yaml-ok-own-line-region-column-zero",
4069
+ "rule": "dashes",
4070
+ "mode": "yaml",
4071
+ "keys": [
4072
+ "title"
4073
+ ],
4074
+ "in": "info:\n description:\n \"x\n y\"\ntitle: c -- d\n",
4075
+ "out": "info:\n description:\n \"x\n y\"\ntitle: c—d\n",
4076
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: the own-line region ends at the first line in column 0."
4077
+ },
4078
+ {
4079
+ "id": "en-us-markdown-commonmark-frontmatter-keys-own-line-block",
4080
+ "rule": "dashes",
4081
+ "mode": "markdown",
4082
+ "dialect": "commonmark",
4083
+ "frontmatterKeys": [
4084
+ "title"
4085
+ ],
4086
+ "in": "---\nnotes:\n |\n title: c -- d\n---\n\nBody -- here.\n",
4087
+ "out": "---\nnotes:\n |\n title: c -- d\n---\n\nBody—here.\n",
4088
+ "note": "modes.md §3.7.4 and §3.8.4 (spec 1.11.0, polytypo#64): the frontmatter block reuses the yaml scan, so a block scalar header on a line of its own absorbs its content there too, and the body is unaffected."
4089
+ },
4090
+ {
4091
+ "id": "en-us-yaml-ok-escaped-quote-key-sibling",
4092
+ "rule": "dashes",
4093
+ "mode": "yaml",
4094
+ "keys": [
4095
+ "title"
4096
+ ],
4097
+ "in": "\"a\\\"b\": 1\ntitle: c -- d\n",
4098
+ "out": "\"a\\\"b\": 1\ntitle: c—d\n",
4099
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: step 5 skips a U+005C and the code point after it, so `\"a\\\"b\"` closes on its line and is a quoted key; `title` at column 0 is not under it and converts."
4100
+ },
4101
+ {
4102
+ "id": "en-us-yaml-ok-anchored-key-column-zero",
4103
+ "rule": "dashes",
4104
+ "mode": "yaml",
4105
+ "keys": [
4106
+ "title"
4107
+ ],
4108
+ "in": "&a k: v\ntitle: c -- d\n",
4109
+ "out": "&a k: v\ntitle: c—d\n",
4110
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: an anchored key in column 0 is a node line without a region, so a sibling at column 0 converts."
4111
+ },
4112
+ {
4113
+ "id": "en-us-yaml-ok-indented-document-marker-text",
4114
+ "rule": "dashes",
4115
+ "mode": "yaml",
4116
+ "keys": [
4117
+ "title"
4118
+ ],
4119
+ "in": "a:\n --- x: 1\ntitle: c -- d\n",
4120
+ "out": "a:\n --- x: 1\ntitle: c—d\n",
4121
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): control: YAML reads a document marker only in column 0, so an indented `--- x: 1` absorbs nothing and `title` converts."
4122
+ },
4123
+ {
4124
+ "id": "en-us-yaml-cost-explicit-key-in-entry",
4125
+ "rule": "dashes",
4126
+ "mode": "yaml",
4127
+ "keys": [
4128
+ "title"
4129
+ ],
4130
+ "in": "- ? a\n : b\n title: c -- d\n",
4131
+ "out": "- ? a\n : b\n title: c -- d\n",
4132
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): accepted miss (§7.11): an explicit key inside an entry is a node line that absorbs the lines under it, though YAML reads `title` as a sibling."
4133
+ },
4134
+ {
4135
+ "id": "en-us-yaml-cost-flow-key-column-zero",
4136
+ "rule": "dashes",
4137
+ "mode": "yaml",
4138
+ "keys": [
4139
+ "title"
4140
+ ],
4141
+ "in": "{a: 1}: v\ntitle: c -- d\n",
4142
+ "out": "{a: 1}: v\ntitle: c -- d\n",
4143
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): accepted miss (§7.11): a flow collection at indent 0 absorbs the rest of the document, though YAML reads `title` as a root key."
4144
+ },
4145
+ {
4146
+ "id": "en-us-yaml-cost-document-marker-tag",
4147
+ "rule": "dashes",
4148
+ "mode": "yaml",
4149
+ "keys": [
4150
+ "title"
4151
+ ],
4152
+ "in": "--- !t\ntitle: c -- d\n",
4153
+ "out": "--- !t\ntitle: c -- d\n",
4154
+ "note": "modes.md §3.8.4 (spec 1.11.0, polytypo#64): accepted miss (§7.11): a document marker in column 0 followed by a tag absorbs the document."
3278
4155
  }
3279
4156
  ]
3280
4157
  }