@@ -325,7 +325,7 @@ export class Parser {
325
325
it . value = token
326
326
} else {
327
327
Object . assign ( it , { key : token , sep : [ ] } )
328
- this . onKeyLine = ! includesToken ( it . start , 'explicit-key-ind' )
328
+ this . onKeyLine = ! it . explicitKey
329
329
return
330
330
}
331
331
break
@@ -532,7 +532,7 @@ export class Parser {
532
532
const atNextItem =
533
533
! this . onKeyLine &&
534
534
this . indent === map . indent &&
535
- it . sep &&
535
+ ( it . sep || it . explicitKey ) &&
536
536
this . type !== 'seq-item-ind'
537
537
538
538
// For empty nodes, assign newline-separated not indented empty tokens to following node
@@ -572,24 +572,25 @@ export class Parser {
572
572
return
573
573
574
574
case 'explicit-key-ind' :
575
- if ( ! it . sep && ! includesToken ( it . start , 'explicit-key-ind' ) ) {
575
+ if ( ! it . sep && ! it . explicitKey ) {
576
576
it . start . push ( this . sourceToken )
577
+ it . explicitKey = true
577
578
} else if ( atNextItem || it . value ) {
578
579
start . push ( this . sourceToken )
579
- map . items . push ( { start } )
580
+ map . items . push ( { start, explicitKey : true } )
580
581
} else {
581
582
this . stack . push ( {
582
583
type : 'block-map' ,
583
584
offset : this . offset ,
584
585
indent : this . indent ,
585
- items : [ { start : [ this . sourceToken ] } ]
586
+ items : [ { start : [ this . sourceToken ] , explicitKey : true } ]
586
587
} )
587
588
}
588
589
this . onKeyLine = true
589
590
return
590
591
591
592
case 'map-value-ind' :
592
- if ( includesToken ( it . start , 'explicit-key-ind' ) ) {
593
+ if ( it . explicitKey ) {
593
594
if ( ! it . sep ) {
594
595
if ( includesToken ( it . start , 'newline' ) ) {
595
596
Object . assign ( it , { key : null , sep : [ this . sourceToken ] } )
@@ -672,11 +673,7 @@ export class Parser {
672
673
default : {
673
674
const bv = this . startBlockValue ( map )
674
675
if ( bv ) {
675
- if (
676
- atNextItem &&
677
- bv . type !== 'block-seq' &&
678
- includesToken ( it . start , 'explicit-key-ind' )
679
- ) {
676
+ if ( atNextItem && bv . type !== 'block-seq' && it . explicitKey ) {
680
677
map . items . push ( { start } )
681
678
}
682
679
this . stack . push ( bv )
@@ -888,7 +885,7 @@ export class Parser {
888
885
type : 'block-map' ,
889
886
offset : this . offset ,
890
887
indent : this . indent ,
891
- items : [ { start } ]
888
+ items : [ { start, explicitKey : true } ]
892
889
} as BlockMap
893
890
}
894
891
case 'map-value-ind' : {
0 commit comments