Skip to content

Commit 0d5ab84

Browse files
Azoyhamishknight
authored andcommitted
fix intersection, subtraction, symmetricDiference
1 parent 8b838b7 commit 0d5ab84

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

Sources/_StringProcessing/PrintAsPattern.swift

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -441,31 +441,58 @@ extension PrettyPrinter {
441441
break
442442

443443
case .intersection(let first, let second):
444-
printAsPattern(first)
444+
if wrap, first.isSimplePrint {
445+
indent()
446+
output("One(")
447+
}
448+
449+
printAsPattern(first, wrap: false)
445450
printIndented { printer in
446451
printer.indent()
447452
printer.output(".intersection(")
448-
printer.printAsPattern(second, terminateLine: false)
453+
printer.printAsPattern(second, wrap: false, terminateLine: false)
449454
printer.output(")")
450455
}
451456

457+
if wrap, first.isSimplePrint {
458+
output(")")
459+
}
460+
452461
case .subtraction(let first, let second):
453-
printAsPattern(first)
462+
if wrap, first.isSimplePrint {
463+
indent()
464+
output("One(")
465+
}
466+
467+
printAsPattern(first, wrap: false)
454468
printIndented { printer in
455469
printer.indent()
456470
printer.output(".subtracting(")
457-
printer.printAsPattern(second, terminateLine: false)
471+
printer.printAsPattern(second, wrap: false, terminateLine: false)
458472
printer.output(")")
459473
}
460474

475+
if wrap, first.isSimplePrint {
476+
output(")")
477+
}
478+
461479
case .symmetricDifference(let first, let second):
462-
printAsPattern(first)
480+
if wrap, first.isSimplePrint {
481+
indent()
482+
output("One(")
483+
}
484+
485+
printAsPattern(first, wrap: false)
463486
printIndented { printer in
464487
printer.indent()
465488
printer.output(".symmetricDifference(")
466-
printer.printAsPattern(second, terminateLine: false)
489+
printer.printAsPattern(second, wrap: false, terminateLine: false)
467490
printer.output(")")
468491
}
492+
493+
if wrap, first.isSimplePrint {
494+
output(")")
495+
}
469496
}
470497
}
471498

0 commit comments

Comments
 (0)