From 778fed96fda5df614751ebebd39174c2f57d3f12 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Mon, 13 Feb 2017 06:47:41 -0800 Subject: [PATCH] When performing find-all-refs for a keyword, use the first result as the definition. --- src/services/findAllReferences.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index cd1477c4448..6431451b961 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -406,21 +406,24 @@ namespace ts.FindAllReferences { function getAllReferencesForKeyword(sourceFiles: SourceFile[], keywordKind: ts.SyntaxKind, cancellationToken: CancellationToken): ReferencedSymbol[] { const name = tokenToString(keywordKind); - const definition: ReferencedSymbolDefinitionInfo = { - containerKind: "", - containerName: "", - fileName: "", - kind: ScriptElementKind.keyword, - name, - textSpan: createTextSpan(0, 1), - displayParts: [{ text: name, kind: ScriptElementKind.keyword }] - } const references: ReferenceEntry[] = []; for (const sourceFile of sourceFiles) { cancellationToken.throwIfCancellationRequested(); addReferencesForKeywordInFile(sourceFile, keywordKind, name, cancellationToken, references); } + if (!references.length) return undefined; + + const definition: ReferencedSymbolDefinitionInfo = { + containerKind: "", + containerName: "", + fileName: references[0].fileName, + kind: ScriptElementKind.keyword, + name, + textSpan: references[0].textSpan, + displayParts: [{ text: name, kind: ScriptElementKind.keyword }] + } + return [{ definition, references }]; }