diff --git a/src/services/formatting/rules.ts b/src/services/formatting/rules.ts index 7c6f4bfe85c..73a6d2428ca 100644 --- a/src/services/formatting/rules.ts +++ b/src/services/formatting/rules.ts @@ -88,7 +88,7 @@ export function getAllRules(): RuleSpec[] { const functionOpenBraceLeftTokenRange = anyTokenIncludingMultilineComments; // Place a space before open brace in a TypeScript declaration that has braces as children (class, module, enum, etc) - const typeScriptOpenBraceLeftTokenRange = tokenRangeFrom([SyntaxKind.Identifier, SyntaxKind.MultiLineCommentTrivia, SyntaxKind.ClassKeyword, SyntaxKind.ExportKeyword, SyntaxKind.ImportKeyword]); + const typeScriptOpenBraceLeftTokenRange = tokenRangeFrom([SyntaxKind.Identifier, SyntaxKind.GreaterThanToken, SyntaxKind.MultiLineCommentTrivia, SyntaxKind.ClassKeyword, SyntaxKind.ExportKeyword, SyntaxKind.ImportKeyword]); // Place a space before open brace in a control flow construct const controlOpenBraceLeftTokenRange = tokenRangeFrom([SyntaxKind.CloseParenToken, SyntaxKind.MultiLineCommentTrivia, SyntaxKind.DoKeyword, SyntaxKind.TryKeyword, SyntaxKind.FinallyKeyword, SyntaxKind.ElseKeyword, SyntaxKind.CatchKeyword]); diff --git a/tests/cases/fourslash/formatSpaceAfterImplementsExtends.ts b/tests/cases/fourslash/formatSpaceAfterImplementsExtends.ts new file mode 100644 index 00000000000..b732c99aa2c --- /dev/null +++ b/tests/cases/fourslash/formatSpaceAfterImplementsExtends.ts @@ -0,0 +1,27 @@ +/// + +////class C1 implements Array{ +////} +//// +////class C2 implements Number{ +////} +//// +////class C3 extends Array{ +////} +//// +////class C4 extends Number{ +////} + +format.document(); +verify.currentFileContentIs( +`class C1 implements Array { +} + +class C2 implements Number { +} + +class C3 extends Array { +} + +class C4 extends Number { +}`); diff --git a/tests/cases/fourslash/genericsFormatting.ts b/tests/cases/fourslash/genericsFormatting.ts index bb2a218a440..e22b16d433f 100644 --- a/tests/cases/fourslash/genericsFormatting.ts +++ b/tests/cases/fourslash/genericsFormatting.ts @@ -26,7 +26,7 @@ format.document(); goTo.marker("inClassDeclaration"); -verify.currentLineContentIs("class Foo {"); +verify.currentLineContentIs("class Foo {"); goTo.marker("inMethodDeclaration"); verify.currentLineContentIs(" public method(a: T1, b: Array): Map> {");