fix(59779): The semicolons: "remove" formatting option doesn't remove extraneous semicolons (#59797)
This commit is contained in:
Родитель
241a6c9589
Коммит
a62ac67b50
|
@ -933,6 +933,13 @@ function isSemicolonDeletionContext(context: FormattingContext): boolean {
|
|||
|| nextTokenKind === SyntaxKind.EndOfFileToken;
|
||||
}
|
||||
|
||||
if (
|
||||
nextTokenKind === SyntaxKind.SemicolonToken &&
|
||||
context.currentTokenSpan.kind === SyntaxKind.SemicolonToken
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (
|
||||
nextTokenKind === SyntaxKind.SemicolonClassElement ||
|
||||
nextTokenKind === SyntaxKind.SemicolonToken
|
||||
|
|
|
@ -51,7 +51,7 @@ class C {
|
|||
["p"]
|
||||
zero: void
|
||||
["one"] = {};
|
||||
["two"];
|
||||
["two"]
|
||||
;
|
||||
}
|
||||
a;
|
||||
|
@ -59,7 +59,7 @@ a;
|
|||
b;
|
||||
(3)
|
||||
4;
|
||||
/ regex /;
|
||||
/ regex /
|
||||
;
|
||||
[];
|
||||
/** blah */[0]
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
/// <reference path="fourslash.ts" />
|
||||
|
||||
////declare const opt: number | undefined;
|
||||
////
|
||||
////const a = 1;
|
||||
////const b = 2;
|
||||
////;[1, 2, 3]
|
||||
////
|
||||
////const c = opt ? 1 : 2;
|
||||
////const d = opt ? 1 : 2;
|
||||
////;[1, 2, 3]
|
||||
////
|
||||
////const e = opt ?? 1;
|
||||
////const f = opt ?? 1;
|
||||
////;[1, 2, 3]
|
||||
////
|
||||
////type a = 1;
|
||||
////type b = 2;
|
||||
////;[1, 2, 3]
|
||||
////
|
||||
////type c = typeof opt extends 1 ? 1 : 2;
|
||||
////type d = typeof opt extends 1 ? 1 : 2;
|
||||
////;[1, 2, 3]
|
||||
|
||||
format.setFormatOptions({ ...format.copyFormatOptions(), semicolons: ts.SemicolonPreference.Remove });
|
||||
format.document();
|
||||
verify.currentFileContentIs(
|
||||
`declare const opt: number | undefined
|
||||
|
||||
const a = 1
|
||||
const b = 2
|
||||
;[1, 2, 3]
|
||||
|
||||
const c = opt ? 1 : 2
|
||||
const d = opt ? 1 : 2
|
||||
;[1, 2, 3]
|
||||
|
||||
const e = opt ?? 1
|
||||
const f = opt ?? 1
|
||||
;[1, 2, 3]
|
||||
|
||||
type a = 1
|
||||
type b = 2
|
||||
;[1, 2, 3]
|
||||
|
||||
type c = typeof opt extends 1 ? 1 : 2
|
||||
type d = typeof opt extends 1 ? 1 : 2
|
||||
;[1, 2, 3]`);
|
Загрузка…
Ссылка в новой задаче