11import { NonterminalKind } from '@nomicfoundation/slang/cst' ;
22import { doc } from 'prettier' ;
33import { printSeparatedItem } from '../slang-printers/print-separated-item.js' ;
4+ import { printVariant } from '../slang-printers/print-variant.js' ;
45import { SlangNode } from './SlangNode.js' ;
56import { Expression } from './Expression.js' ;
67
@@ -28,7 +29,7 @@ function experimentalTernaries(
2829
2930 // If the `condition` breaks into multiple lines, we add parentheses,
3031 // unless it already is a `TupleExpression`.
31- const operand = path . call ( print , 'operand' ) ;
32+ const operand = path . call ( printVariant ( print ) , 'operand' ) ;
3233 const operandDoc = group ( [
3334 node . operand . variant . kind === NonterminalKind . TupleExpression
3435 ? operand
@@ -41,7 +42,7 @@ function experimentalTernaries(
4142 // `trueExpression`.
4243 const trueExpressionDoc = indent ( [
4344 isNestedAsTrueExpression ? hardline : line ,
44- path . call ( print , 'trueExpression' )
45+ path . call ( printVariant ( print ) , 'trueExpression' )
4546 ] ) ;
4647
4748 const groupId = Symbol ( 'Slang.ConditionalExpression.trueExpression' ) ;
@@ -58,7 +59,7 @@ function experimentalTernaries(
5859 ? ' ' . repeat ( tabWidth - 1 )
5960 : ' ' ;
6061
61- const falseExpression = path . call ( print , 'falseExpression' ) ;
62+ const falseExpression = path . call ( printVariant ( print ) , 'falseExpression' ) ;
6263 const falseExpressionDoc = [
6364 isNested ? hardline : line ,
6465 ':' ,
@@ -85,7 +86,7 @@ function traditionalTernaries(
8586 print : PrintFunction
8687) : Doc {
8788 return group ( [
88- path . call ( print , 'operand' ) ,
89+ path . call ( printVariant ( print ) , 'operand' ) ,
8990 indent ( [
9091 // Nested trueExpression and falseExpression are always printed in a new
9192 // line
@@ -94,10 +95,10 @@ function traditionalTernaries(
9495 ? hardline
9596 : line ,
9697 '? ' ,
97- path . call ( print , 'trueExpression' ) ,
98+ path . call ( printVariant ( print ) , 'trueExpression' ) ,
9899 line ,
99100 ': ' ,
100- path . call ( print , 'falseExpression' )
101+ path . call ( printVariant ( print ) , 'falseExpression' )
101102 ] )
102103 ] ) ;
103104}
0 commit comments