@@ -3,7 +3,7 @@ import { equalizeWhitespace } from 'src/utils';
33
44import Params from 'src/formatter/Params' ;
55import { isTabularStyle } from 'src/formatter/config' ;
6- import { isReserved , type Token , TokenType } from 'src/lexer/token' ;
6+ import { isReserved , type Token , TokenType , isParameter } from 'src/lexer/token' ;
77import {
88 AllColumnsAsterisk ,
99 ArraySubscript ,
@@ -206,11 +206,6 @@ export default class ExpressionFormatter {
206206 return this . formatCaseStart ( token ) ;
207207 case TokenType . RESERVED_CASE_END :
208208 return this . formatCaseEnd ( token ) ;
209- case TokenType . NAMED_PARAMETER :
210- case TokenType . QUOTED_PARAMETER :
211- case TokenType . INDEXED_PARAMETER :
212- case TokenType . POSITIONAL_PARAMETER :
213- return this . formatParameter ( token ) ;
214209 case TokenType . COMMA :
215210 return this . formatComma ( token ) ;
216211 case TokenType . OPERATOR :
@@ -220,16 +215,18 @@ export default class ExpressionFormatter {
220215 case TokenType . STRING :
221216 case TokenType . NUMBER :
222217 case TokenType . VARIABLE :
223- return this . formatWord ( token ) ;
218+ case TokenType . NAMED_PARAMETER :
219+ case TokenType . QUOTED_PARAMETER :
220+ case TokenType . INDEXED_PARAMETER :
221+ case TokenType . POSITIONAL_PARAMETER :
222+ return this . formatLiteral ( token ) ;
224223 default :
225224 throw new Error ( `Unexpected token type: ${ token . type } ` ) ;
226225 }
227226 }
228227
229- /**
230- * Formats ident/string/number/variable tokens
231- */
232- private formatWord ( token : Token ) {
228+ /** Default formatting for most token types */
229+ private formatLiteral ( token : Token ) {
233230 this . layout . add ( this . show ( token ) , WS . SPACE ) ;
234231 }
235232
@@ -355,13 +352,6 @@ export default class ExpressionFormatter {
355352 this . layout . add ( WS . NEWLINE , WS . INDENT , this . show ( token ) , WS . SPACE ) ;
356353 }
357354
358- /**
359- * Formats a parameter placeholder item onto query, to be replaced with the value of the placeholder
360- */
361- private formatParameter ( token : Token ) {
362- this . layout . add ( this . params . get ( token ) , WS . SPACE ) ;
363- }
364-
365355 /**
366356 * Formats a comma Operator onto query, ending line unless in an Inline Block
367357 */
@@ -392,6 +382,8 @@ export default class ExpressionFormatter {
392382 case 'lower' :
393383 return token . value . toLowerCase ( ) ;
394384 }
385+ } else if ( isParameter ( token ) ) {
386+ return this . params . get ( token ) ;
395387 } else {
396388 return token . value ;
397389 }
0 commit comments