Skip to content

Commit 2c134db

Browse files
authored
fix(56699): [Formatting] Missing space after implements / extends generic (microsoft#56707)
1 parent 22bee05 commit 2c134db

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

src/services/formatting/rules.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export function getAllRules(): RuleSpec[] {
8888
const functionOpenBraceLeftTokenRange = anyTokenIncludingMultilineComments;
8989

9090
// Place a space before open brace in a TypeScript declaration that has braces as children (class, module, enum, etc)
91-
const typeScriptOpenBraceLeftTokenRange = tokenRangeFrom([SyntaxKind.Identifier, SyntaxKind.MultiLineCommentTrivia, SyntaxKind.ClassKeyword, SyntaxKind.ExportKeyword, SyntaxKind.ImportKeyword]);
91+
const typeScriptOpenBraceLeftTokenRange = tokenRangeFrom([SyntaxKind.Identifier, SyntaxKind.GreaterThanToken, SyntaxKind.MultiLineCommentTrivia, SyntaxKind.ClassKeyword, SyntaxKind.ExportKeyword, SyntaxKind.ImportKeyword]);
9292

9393
// Place a space before open brace in a control flow construct
9494
const controlOpenBraceLeftTokenRange = tokenRangeFrom([SyntaxKind.CloseParenToken, SyntaxKind.MultiLineCommentTrivia, SyntaxKind.DoKeyword, SyntaxKind.TryKeyword, SyntaxKind.FinallyKeyword, SyntaxKind.ElseKeyword, SyntaxKind.CatchKeyword]);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
///<reference path="fourslash.ts"/>
2+
3+
////class C1 implements Array<string>{
4+
////}
5+
////
6+
////class C2 implements Number{
7+
////}
8+
////
9+
////class C3 extends Array<string>{
10+
////}
11+
////
12+
////class C4 extends Number{
13+
////}
14+
15+
format.document();
16+
verify.currentFileContentIs(
17+
`class C1 implements Array<string> {
18+
}
19+
20+
class C2 implements Number {
21+
}
22+
23+
class C3 extends Array<string> {
24+
}
25+
26+
class C4 extends Number {
27+
}`);

tests/cases/fourslash/genericsFormatting.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
format.document();
2727

2828
goTo.marker("inClassDeclaration");
29-
verify.currentLineContentIs("class Foo<T1, T2> {");
29+
verify.currentLineContentIs("class Foo<T1, T2> {");
3030

3131
goTo.marker("inMethodDeclaration");
3232
verify.currentLineContentIs(" public method<T3, T4>(a: T1, b: Array<T4>): Map<T1, T2, Array<T3>> {");

0 commit comments

Comments
 (0)