@@ -187,14 +187,25 @@ export function defineVisitor(context: IndentContext): NodeListener {
187
187
} ,
188
188
CallExpression ( node : TSESTree . CallExpression ) {
189
189
const firstToken = sourceCode . getFirstToken ( node )
190
- const leftParenToken = sourceCode . getTokenAfter ( node . callee , {
191
- filter : isOpeningParenToken ,
192
- includeComments : false ,
193
- } ) !
190
+ const leftParenToken = sourceCode . getTokenAfter (
191
+ node . typeParameters || node . callee ,
192
+ {
193
+ filter : isOpeningParenToken ,
194
+ includeComments : false ,
195
+ } ,
196
+ ) !
194
197
const rightParenToken = sourceCode . getLastToken ( node )
195
198
199
+ if ( node . typeParameters ) {
200
+ offsets . setOffsetToken (
201
+ sourceCode . getFirstToken ( node . typeParameters ) ,
202
+ 1 ,
203
+ firstToken ,
204
+ )
205
+ }
206
+
196
207
for ( const optionalToken of sourceCode . getTokensBetween (
197
- sourceCode . getLastToken ( node . callee ) ,
208
+ sourceCode . getLastToken ( node . typeParameters || node . callee ) ,
198
209
leftParenToken ,
199
210
{ filter : isOptionalToken , includeComments : false } ,
200
211
) ) {
@@ -817,12 +828,17 @@ export function defineVisitor(context: IndentContext): NodeListener {
817
828
const calleeTokens = getFirstAndLastTokens ( sourceCode , node . callee )
818
829
offsets . setOffsetToken ( calleeTokens . firstToken , 1 , newToken )
819
830
820
- if (
821
- node . arguments . length ||
822
- calleeTokens . lastToken . range [ 1 ] < node . range [ 1 ]
823
- ) {
831
+ if ( node . typeParameters ) {
832
+ offsets . setOffsetToken (
833
+ sourceCode . getFirstToken ( node . typeParameters ) ,
834
+ 1 ,
835
+ calleeTokens . firstToken ,
836
+ )
837
+ }
838
+ const leftParenBefore = node . typeParameters || calleeTokens . lastToken
839
+ if ( node . arguments . length || leftParenBefore . range [ 1 ] < node . range [ 1 ] ) {
824
840
const rightParenToken = sourceCode . getLastToken ( node )
825
- const leftParenToken = sourceCode . getTokenAfter ( calleeTokens . lastToken ) !
841
+ const leftParenToken = sourceCode . getTokenAfter ( leftParenBefore ) !
826
842
827
843
offsets . setOffsetToken ( leftParenToken , 1 , calleeTokens . firstToken )
828
844
offsets . setOffsetElementList (
0 commit comments