mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
add config to insert space for empty braces (#35427)
This commit is contained in:
@@ -274,6 +274,10 @@ namespace ts.formatting {
|
||||
rule("NoSpaceAfterOpenBrace", SyntaxKind.OpenBraceToken, anyToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], RuleAction.DeleteSpace),
|
||||
rule("NoSpaceBeforeCloseBrace", anyToken, SyntaxKind.CloseBraceToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], RuleAction.DeleteSpace),
|
||||
|
||||
// Insert a space after opening and before closing empty brace brackets
|
||||
rule("SpaceBetweenEmptyBraceBrackets", SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")], RuleAction.InsertSpace),
|
||||
rule("NoSpaceBetweenEmptyBraceBrackets", SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), isNonJsxSameLineTokenContext], RuleAction.DeleteSpace),
|
||||
|
||||
// Insert space after opening and before closing template string braces
|
||||
rule("SpaceAfterTemplateHeadAndMiddle", [SyntaxKind.TemplateHead, SyntaxKind.TemplateMiddle], anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxSameLineTokenContext], RuleAction.InsertSpace),
|
||||
rule("SpaceBeforeTemplateMiddleAndTail", anyToken, [SyntaxKind.TemplateMiddle, SyntaxKind.TemplateTail], [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxSameLineTokenContext], RuleAction.InsertSpace),
|
||||
|
||||
@@ -794,6 +794,7 @@ namespace ts {
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingEmptyBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean;
|
||||
readonly insertSpaceAfterTypeAssertion?: boolean;
|
||||
|
||||
@@ -5541,6 +5541,7 @@ declare namespace ts {
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingEmptyBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean;
|
||||
readonly insertSpaceAfterTypeAssertion?: boolean;
|
||||
|
||||
@@ -5541,6 +5541,7 @@ declare namespace ts {
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingEmptyBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean;
|
||||
readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean;
|
||||
readonly insertSpaceAfterTypeAssertion?: boolean;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
/////*placeOpenBraceOnNewLineForControlBlocks*/if (true) {
|
||||
////}
|
||||
/////*insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces*/{ var t = 1}; var {a,b } = { a: 'sw', b:'r' };function f( { a, b}) { }
|
||||
/////*insertSpaceAfterOpeningAndBeforeClosingEmptyBraces*/constructor() { }
|
||||
|
||||
const defaultFormatOption = format.copyFormatOptions();
|
||||
|
||||
@@ -31,6 +32,7 @@ runTest("insertSpaceBeforeTypeAnnotation", "const bar : number = 1;", "const bar
|
||||
runTest("placeOpenBraceOnNewLineForFunctions", "class foo", "class foo {");
|
||||
runTest("placeOpenBraceOnNewLineForControlBlocks", "if (true)", "if (true) {");
|
||||
runTest("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces", "{ var t = 1 }; var { a, b } = { a: 'sw', b: 'r' }; function f({ a, b }) { }", "{var t = 1}; var {a, b} = {a: 'sw', b: 'r'}; function f({a, b}) {}");
|
||||
runTest("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces", "constructor() { }", "constructor() {}");
|
||||
|
||||
function runTest(propertyName: string, expectedStringWhenTrue: string, expectedStringWhenFalse: string) {
|
||||
// Go to the correct file
|
||||
|
||||
Reference in New Issue
Block a user