Skip to content

Commit 7f577dc

Browse files
author
Armando Aguirre
committed
Added triple slash support
1 parent f8ccde5 commit 7f577dc

5 files changed

Lines changed: 14 additions & 8 deletions

File tree

src/services/goToDefinition.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,16 @@ namespace ts.GoToDefinition {
156156
return undefined;
157157
}
158158

159-
// TODO: Add textSpan for triple slash references (file and type).
160-
const comment = findReferenceInPosition(sourceFile.referencedFiles, position);
161-
if (comment && tryResolveScriptReference(program, sourceFile, comment) || findReferenceInPosition(sourceFile.typeReferenceDirectives, position)) {
162-
return { definitions, textSpan: undefined };
159+
let comment = findReferenceInPosition(sourceFile.referencedFiles, position);
160+
if (!comment || !tryResolveScriptReference(program, sourceFile, comment)) {
161+
comment = findReferenceInPosition(sourceFile.typeReferenceDirectives, position);
162+
}
163+
164+
if (comment) {
165+
return {
166+
definitions,
167+
textSpan: createTextSpanFromBounds(comment.pos, comment.end)
168+
};
163169
}
164170

165171
const node = getTouchingPropertyName(sourceFile, position, /*includeJsDocComment*/ true);

tests/cases/fourslash/goToDefinitionSourceUnit.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//// //MyFile Comments
55
//// //more comments
66
//// /// <reference path="so/*unknownFile*/mePath.ts" />
7-
//// /// <reference path="b/*knownFile*/.ts" />
7+
//// /// <reference path="[|b/*knownFile*/.ts|]" />
88
////
99
//// class clsInOverload {
1010
//// static fnOverload();

tests/cases/fourslash/goToDefinitionTypeReferenceDirective.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/////*0*/declare let $: {x: number};
66

77
// @Filename: src/app.ts
8-
//// /// <reference types="lib/*1*/"/>
8+
//// /// <reference types="[|lib/*1*/|]"/>
99
//// $.x;
1010

1111
verify.goToDefinition("1", "0");

tests/cases/fourslash/shims-pp/goToDefinitionTypeReferenceDirective.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/////*0*/declare let $: {x: number};
66

77
// @Filename: src/app.ts
8-
//// /// <reference types="lib/*1*/"/>
8+
//// /// <reference types="[|lib/*1*/|]"/>
99
//// $.x;
1010

1111
verify.goToDefinition("1", "0");

tests/cases/fourslash/shims/goToDefinitionTypeReferenceDirective.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/////*0*/declare let $: {x: number};
66

77
// @Filename: src/app.ts
8-
//// /// <reference types="lib/*1*/"/>
8+
//// /// <reference types="[|lib/*1*/|]"/>
99
//// $.x;
1010

1111
verify.goToDefinition("1", "0");

0 commit comments

Comments
 (0)