diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index 531b768f6d8..2450cdca604 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -363,7 +363,6 @@ namespace ts.formatting { // formatting context is used by rules provider const formattingContext = new FormattingContext(sourceFile, requestKind, options); - let previousRangeHasError: boolean; let previousRange: TextRangeWithKind; let previousParent: Node; let previousRangeStartLine: number; @@ -848,7 +847,7 @@ namespace ts.formatting { const rangeHasError = rangeContainsError(range); let lineAdded: boolean; - if (!rangeHasError && !previousRangeHasError) { + if (!rangeHasError) { if (!previousRange) { // trim whitespaces starting from the beginning of the span up to the current line const originalStart = sourceFile.getLineAndCharacterOfPosition(originalRange.pos); @@ -863,7 +862,6 @@ namespace ts.formatting { previousRange = range; previousParent = parent; previousRangeStartLine = rangeStart.line; - previousRangeHasError = rangeHasError; return lineAdded; } diff --git a/tests/cases/fourslash/formatOnEnterEmptyBlock.ts b/tests/cases/fourslash/formatOnEnterEmptyBlock.ts new file mode 100644 index 00000000000..fd24edf4e5f --- /dev/null +++ b/tests/cases/fourslash/formatOnEnterEmptyBlock.ts @@ -0,0 +1,16 @@ +/// + +//// if (true) { +//// } +//// if () { +//// } + +format.setOption("PlaceOpenBraceOnNewLineForControlBlocks", true); +format.document(); +verify.currentFileContentIs( +`if (true) +{ +} +if () +{ +}`); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index 767701a2af6..69a1551635c 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -329,7 +329,7 @@ declare namespace FourSlashInterface { setFormatOptions(options: FormatCodeOptions): any; selection(startMarker: string, endMarker: string): void; onType(posMarker: string, key: string): void; - setOption(name: string, value: number | string | boolean): void; + setOption(name: keyof FormatCodeOptions, value: number | string | boolean): void; } class cancellation { resetCancelled(): void;