Skip to content

Commit 016577e

Browse files
committed
Go to type definition on type definition: got to itself.
CC @amiralies
1 parent 6cf79ce commit 016577e

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

analysis/src/References.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,8 @@ let definitionForLocItem ~full:{file; package} locItem =
361361

362362
let typeDefinitionForLocItem ~full:{file; package} locItem =
363363
match locItem.locType with
364-
| Constant _ | TopLevelModule _ | LModule _ | TypeDefinition _ -> None
364+
| Constant _ | TopLevelModule _ | LModule _ -> None
365+
| TypeDefinition _ -> Some (file.uri, locItem.loc)
365366
| Typed (_, typ, _) -> (
366367
let env = SharedTypes.QueryEnv.fromFile file in
367368
match Shared.digConstructor typ with

analysis/tests/src/TypeDefinition.res

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
type variant = Foo | Bar
22

33
type record = {item: string}
4+
// ^typ
45

56
let x = Foo
67
// ^typ
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
TypeDefinition tests/src/TypeDefinition.res 4:4
1+
TypeDefinition tests/src/TypeDefinition.res 2:9
2+
{"uri": "TypeDefinition.res", "range": {"start": {"line": 2, "character": 5}, "end": {"line": 2, "character": 11}}}
3+
4+
TypeDefinition tests/src/TypeDefinition.res 5:4
25
{"uri": "TypeDefinition.res", "range": {"start": {"line": 0, "character": 0}, "end": {"line": 0, "character": 24}}}
36

4-
TypeDefinition tests/src/TypeDefinition.res 7:4
7+
TypeDefinition tests/src/TypeDefinition.res 8:4
58
{"uri": "TypeDefinition.res", "range": {"start": {"line": 2, "character": 0}, "end": {"line": 2, "character": 28}}}
69

7-
TypeDefinition tests/src/TypeDefinition.res 12:4
8-
{"uri": "TypeDefinition.res", "range": {"start": {"line": 10, "character": 0}, "end": {"line": 10, "character": 26}}}
10+
TypeDefinition tests/src/TypeDefinition.res 13:4
11+
{"uri": "TypeDefinition.res", "range": {"start": {"line": 11, "character": 0}, "end": {"line": 11, "character": 26}}}
912

10-
TypeDefinition tests/src/TypeDefinition.res 15:13
13+
TypeDefinition tests/src/TypeDefinition.res 16:13
1114
{"uri": "TypeDefinition.res", "range": {"start": {"line": 2, "character": 0}, "end": {"line": 2, "character": 28}}}
1215

13-
TypeDefinition tests/src/TypeDefinition.res 19:9
16+
TypeDefinition tests/src/TypeDefinition.res 20:9
1417
{"uri": "TypeDefinition.res", "range": {"start": {"line": 0, "character": 0}, "end": {"line": 0, "character": 24}}}
1518

0 commit comments

Comments
 (0)