@@ -39,12 +39,12 @@ namespace ts.formatting {
3939 public SpaceBetweenCloseBraceAndWhile : Rule ;
4040 public NoSpaceAfterCloseBrace : Rule ;
4141
42- // No space for indexer and dot
42+ // No space for dot
4343 public NoSpaceBeforeDot : Rule ;
4444 public NoSpaceAfterDot : Rule ;
45+
46+ // No space before and after indexer
4547 public NoSpaceBeforeOpenBracket : Rule ;
46- public NoSpaceAfterOpenBracket : Rule ;
47- public NoSpaceBeforeCloseBracket : Rule ;
4848 public NoSpaceAfterCloseBracket : Rule ;
4949
5050 // Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}.
@@ -191,6 +191,13 @@ namespace ts.formatting {
191191 public NoSpaceAfterOpenParen : Rule ;
192192 public NoSpaceBeforeCloseParen : Rule ;
193193
194+ // Insert space after opening and before closing nonempty brackets
195+ public SpaceAfterOpenBracket : Rule ;
196+ public SpaceBeforeCloseBracket : Rule ;
197+ public NoSpaceBetweenBrackets : Rule ;
198+ public NoSpaceAfterOpenBracket : Rule ;
199+ public NoSpaceBeforeCloseBracket : Rule ;
200+
194201 // Insert space after function keyword for anonymous functions
195202 public SpaceAfterAnonymousFunctionKeyword : Rule ;
196203 public NoSpaceAfterAnonymousFunctionKeyword : Rule ;
@@ -232,13 +239,13 @@ namespace ts.formatting {
232239 this . SpaceBetweenCloseBraceAndWhile = new Rule ( RuleDescriptor . create1 ( SyntaxKind . CloseBraceToken , SyntaxKind . WhileKeyword ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
233240 this . NoSpaceAfterCloseBrace = new Rule ( RuleDescriptor . create3 ( SyntaxKind . CloseBraceToken , Shared . TokenRange . FromTokens ( [ SyntaxKind . CloseParenToken , SyntaxKind . CloseBracketToken , SyntaxKind . CommaToken , SyntaxKind . SemicolonToken ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
234241
235- // No space for indexer and dot
236- this . NoSpaceBeforeDot = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . DotToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
237- this . NoSpaceAfterDot = new Rule ( RuleDescriptor . create3 ( SyntaxKind . DotToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
238- this . NoSpaceBeforeOpenBracket = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . OpenBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
239- this . NoSpaceAfterOpenBracket = new Rule ( RuleDescriptor . create3 ( SyntaxKind . OpenBracketToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
240- this . NoSpaceBeforeCloseBracket = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . CloseBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
241- this . NoSpaceAfterCloseBracket = new Rule ( RuleDescriptor . create3 ( SyntaxKind . CloseBracketToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext , Rules . IsNotBeforeBlockInFunctionDeclarationContext ) , RuleAction . Delete ) ) ;
242+ // No space for dot
243+ this . NoSpaceBeforeDot = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . DotToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
244+ this . NoSpaceAfterDot = new Rule ( RuleDescriptor . create3 ( SyntaxKind . DotToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
245+
246+ // No space before and after indexer
247+ this . NoSpaceBeforeOpenBracket = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . OpenBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
248+ this . NoSpaceAfterCloseBracket = new Rule ( RuleDescriptor . create3 ( SyntaxKind . CloseBracketToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext , Rules . IsNotBeforeBlockInFunctionDeclarationContext ) , RuleAction . Delete ) ) ;
242249
243250 // Place a space before open brace in a function declaration
244251 this . FunctionOpenBraceLeftTokenRange = Shared . TokenRange . AnyIncludingMultilineComments ;
@@ -405,8 +412,8 @@ namespace ts.formatting {
405412 this . NoSpaceBeforeSemicolon ,
406413 this . SpaceBeforeOpenBraceInControl , this . SpaceBeforeOpenBraceInFunction , this . SpaceBeforeOpenBraceInTypeScriptDeclWithBlock ,
407414 this . NoSpaceBeforeComma ,
408- this . NoSpaceBeforeOpenBracket , this . NoSpaceAfterOpenBracket ,
409- this . NoSpaceBeforeCloseBracket , this . NoSpaceAfterCloseBracket ,
415+ this . NoSpaceBeforeOpenBracket ,
416+ this . NoSpaceAfterCloseBracket ,
410417 this . SpaceAfterSemicolon ,
411418 this . NoSpaceBeforeOpenParenInFuncDecl ,
412419 this . SpaceBetweenStatements , this . SpaceAfterTryFinally
@@ -451,6 +458,13 @@ namespace ts.formatting {
451458 this . NoSpaceAfterOpenParen = new Rule ( RuleDescriptor . create3 ( SyntaxKind . OpenParenToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
452459 this . NoSpaceBeforeCloseParen = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . CloseParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
453460
461+ // Insert space after opening and before closing nonempty brackets
462+ this . SpaceAfterOpenBracket = new Rule ( RuleDescriptor . create3 ( SyntaxKind . OpenBracketToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
463+ this . SpaceBeforeCloseBracket = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . CloseBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
464+ this . NoSpaceBetweenBrackets = new Rule ( RuleDescriptor . create1 ( SyntaxKind . OpenBracketToken , SyntaxKind . CloseBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
465+ this . NoSpaceAfterOpenBracket = new Rule ( RuleDescriptor . create3 ( SyntaxKind . OpenBracketToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
466+ this . NoSpaceBeforeCloseBracket = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . CloseBracketToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
467+
454468 // Insert space after function keyword for anonymous functions
455469 this . SpaceAfterAnonymousFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . FunctionKeyword , SyntaxKind . OpenParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsFunctionDeclContext ) , RuleAction . Space ) ) ;
456470 this . NoSpaceAfterAnonymousFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . FunctionKeyword , SyntaxKind . OpenParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsFunctionDeclContext ) , RuleAction . Delete ) ) ;
0 commit comments