diff --git a/src/services/formatting/rules.ts b/src/services/formatting/rules.ts index 6f15135982b..a658cc41c65 100644 --- a/src/services/formatting/rules.ts +++ b/src/services/formatting/rules.ts @@ -126,11 +126,8 @@ namespace ts.formatting { rule("SpaceBetweenAsyncAndOpenParen", SyntaxKind.AsyncKeyword, SyntaxKind.OpenParenToken, [isArrowFunctionContext, isNonJsxSameLineTokenContext], RuleAction.Space), rule("SpaceBetweenAsyncAndFunctionKeyword", SyntaxKind.AsyncKeyword, SyntaxKind.FunctionKeyword, [isNonJsxSameLineTokenContext], RuleAction.Space), - // template string - rule("NoSpaceBetweenTagAndTemplateString", SyntaxKind.Identifier, [SyntaxKind.NoSubstitutionTemplateLiteral, SyntaxKind.TemplateHead], [isNonJsxSameLineTokenContext], RuleAction.Delete), - - // No space between closing parenthesis and template string - rule("NoSpaceBetweenCloseParenAndTemplateString", SyntaxKind.CloseParenToken, SyntaxKind.NoSubstitutionTemplateLiteral, [isNonJsxSameLineTokenContext], RuleAction.Delete), + // Template string + rule("NoSpaceBetweenTagAndTemplateString", [SyntaxKind.Identifier, SyntaxKind.CloseParenToken], [SyntaxKind.NoSubstitutionTemplateLiteral, SyntaxKind.TemplateHead], [isNonJsxSameLineTokenContext], RuleAction.Delete), // JSX opening elements rule("SpaceBeforeJsxAttribute", anyToken, SyntaxKind.Identifier, [isNextTokenParentJsxAttribute, isNonJsxSameLineTokenContext], RuleAction.Space), diff --git a/tests/cases/fourslash/formatNoSpaceBetweenClosingParenAndTemplateString.ts b/tests/cases/fourslash/formatNoSpaceBetweenClosingParenAndTemplateString.ts index 47de1fac5d6..259252b6cb0 100644 --- a/tests/cases/fourslash/formatNoSpaceBetweenClosingParenAndTemplateString.ts +++ b/tests/cases/fourslash/formatNoSpaceBetweenClosingParenAndTemplateString.ts @@ -2,9 +2,11 @@ //// foo() `abc`; //// bar()`def`; +//// baz()`a${x}b`; format.document(); verify.currentFileContentIs( `foo()\`abc\`; -bar()\`def\`;` +bar()\`def\`; +baz()\`a\${x}b\`;` );