Skip to content

Commit 778fed9

Browse files
author
Andy Hanson
committed
When performing find-all-refs for a keyword, use the first result as the definition.
1 parent d24b689 commit 778fed9

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/services/findAllReferences.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -406,20 +406,23 @@ namespace ts.FindAllReferences {
406406

407407
function getAllReferencesForKeyword(sourceFiles: SourceFile[], keywordKind: ts.SyntaxKind, cancellationToken: CancellationToken): ReferencedSymbol[] {
408408
const name = tokenToString(keywordKind);
409+
const references: ReferenceEntry[] = [];
410+
for (const sourceFile of sourceFiles) {
411+
cancellationToken.throwIfCancellationRequested();
412+
addReferencesForKeywordInFile(sourceFile, keywordKind, name, cancellationToken, references);
413+
}
414+
415+
if (!references.length) return undefined;
416+
409417
const definition: ReferencedSymbolDefinitionInfo = {
410418
containerKind: "",
411419
containerName: "",
412-
fileName: "",
420+
fileName: references[0].fileName,
413421
kind: ScriptElementKind.keyword,
414422
name,
415-
textSpan: createTextSpan(0, 1),
423+
textSpan: references[0].textSpan,
416424
displayParts: [{ text: name, kind: ScriptElementKind.keyword }]
417425
}
418-
const references: ReferenceEntry[] = [];
419-
for (const sourceFile of sourceFiles) {
420-
cancellationToken.throwIfCancellationRequested();
421-
addReferencesForKeywordInFile(sourceFile, keywordKind, name, cancellationToken, references);
422-
}
423426

424427
return [{ definition, references }];
425428
}

0 commit comments

Comments
 (0)