@@ -219,9 +219,11 @@ namespace ts.formatting {
219
219
public SpaceBetweenAsyncAndFunctionKeyword : Rule ;
220
220
221
221
// Template strings
222
- public SpaceBetweenTagAndTemplateString : Rule ;
222
+ public NoSpaceBetweenTagAndTemplateString : Rule ;
223
223
public NoSpaceAfterTemplateHeadAndMiddle : Rule ;
224
+ public SpaceAfterTemplateHeadAndMiddle : Rule ;
224
225
public NoSpaceBeforeTemplateMiddleAndTail : Rule ;
226
+ public SpaceBeforeTemplateMiddleAndTail : Rule ;
225
227
226
228
constructor ( ) {
227
229
///
@@ -376,9 +378,7 @@ namespace ts.formatting {
376
378
this . SpaceBetweenAsyncAndFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . AsyncKeyword , SyntaxKind . FunctionKeyword ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
377
379
378
380
// template string
379
- this . SpaceBetweenTagAndTemplateString = new Rule ( RuleDescriptor . create3 ( SyntaxKind . Identifier , Shared . TokenRange . FromTokens ( [ SyntaxKind . NoSubstitutionTemplateLiteral , SyntaxKind . TemplateHead ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
380
- this . NoSpaceAfterTemplateHeadAndMiddle = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . TemplateHead , SyntaxKind . TemplateMiddle ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
381
- this . NoSpaceBeforeTemplateMiddleAndTail = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . Any , Shared . TokenRange . FromTokens ( [ SyntaxKind . TemplateMiddle , SyntaxKind . TemplateTail ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
381
+ this . NoSpaceBetweenTagAndTemplateString = new Rule ( RuleDescriptor . create3 ( SyntaxKind . Identifier , Shared . TokenRange . FromTokens ( [ SyntaxKind . NoSubstitutionTemplateLiteral , SyntaxKind . TemplateHead ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
382
382
383
383
// These rules are higher in priority than user-configurable rules.
384
384
this . HighPriorityCommonRules = [
@@ -406,7 +406,7 @@ namespace ts.formatting {
406
406
this . SpaceBeforeBinaryKeywordOperator , this . SpaceAfterBinaryKeywordOperator ,
407
407
this . SpaceAfterVoidOperator ,
408
408
this . SpaceBetweenAsyncAndOpenParen , this . SpaceBetweenAsyncAndFunctionKeyword ,
409
- this . SpaceBetweenTagAndTemplateString , this . NoSpaceAfterTemplateHeadAndMiddle , this . NoSpaceBeforeTemplateMiddleAndTail ,
409
+ this . NoSpaceBetweenTagAndTemplateString ,
410
410
411
411
// TypeScript-specific rules
412
412
this . NoSpaceAfterConstructor , this . NoSpaceAfterModuleImport ,
@@ -485,6 +485,12 @@ namespace ts.formatting {
485
485
this . NoSpaceAfterOpenBracket = new Rule ( RuleDescriptor . create3 ( SyntaxKind . OpenBracketToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
486
486
this . NoSpaceBeforeCloseBracket = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . CloseBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
487
487
488
+ // Insert space after opening and before closing template string braces
489
+ this . NoSpaceAfterTemplateHeadAndMiddle = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . TemplateHead , SyntaxKind . TemplateMiddle ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
490
+ this . SpaceAfterTemplateHeadAndMiddle = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . TemplateHead , SyntaxKind . TemplateMiddle ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
491
+ this . NoSpaceBeforeTemplateMiddleAndTail = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . Any , Shared . TokenRange . FromTokens ( [ SyntaxKind . TemplateMiddle , SyntaxKind . TemplateTail ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
492
+ this . SpaceBeforeTemplateMiddleAndTail = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . Any , Shared . TokenRange . FromTokens ( [ SyntaxKind . TemplateMiddle , SyntaxKind . TemplateTail ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
493
+
488
494
// Insert space after function keyword for anonymous functions
489
495
this . SpaceAfterAnonymousFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . FunctionKeyword , SyntaxKind . OpenParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsFunctionDeclContext ) , RuleAction . Space ) ) ;
490
496
this . NoSpaceAfterAnonymousFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . FunctionKeyword , SyntaxKind . OpenParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsFunctionDeclContext ) , RuleAction . Delete ) ) ;
0 commit comments