Skip to content
This repository was archived by the owner on Apr 24, 2021. It is now read-only.

Commit 03ee0d9

Browse files
committed
Don't show deprecated message on hover.
1 parent ae455c7 commit 03ee0d9

File tree

3 files changed

+30
-54
lines changed

3 files changed

+30
-54
lines changed

Changes.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- Add support for autocomplete for pipe-first `foo->`: the type of `foo` is used to determine the module to take completions from.
55
- Add support for autocomplete for decorators such as `@module` and `@val`.
66
- Add support for autocomplete of labelled arguments `foo(~label... )`.
7-
- Add support for @deprecated attributes in autocomplete and hover.
7+
- Add support for @deprecated attributes in autocomplete.
88
- Support for upcoming `rescript` npm package for the compiler. Looks for `rescript` in addition to `bs-platform` in `node_modules`.
99

1010
#### Fixes

src/rescript-editor-support/Hover.re

+26-50
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ let codeBlock = code => {
1818

1919
let showModuleTopLevel =
2020
(
21-
~deprecated,
2221
~docstring,
2322
~name,
2423
topLevel: list(SharedTypes.declared(SharedTypes.moduleItem)),
@@ -42,27 +41,20 @@ let showModuleTopLevel =
4241
| None => ""
4342
| Some(s) => "\n" ++ s ++ "\n"
4443
};
45-
let depr =
46-
switch (deprecated) {
47-
| None => ""
48-
| Some(s) => "\n Deprecated: " ++ s ++ "\n"
49-
};
50-
Some(depr ++ doc ++ codeBlock(full));
44+
Some(doc ++ codeBlock(full));
5145
};
5246

5347
let showModule =
5448
(
55-
~deprecated,
5649
~docstring,
5750
~file: SharedTypes.file,
5851
~name,
5952
declared: option(SharedTypes.declared(SharedTypes.moduleKind)),
6053
) => {
6154
switch (declared) {
62-
| None =>
63-
showModuleTopLevel(~deprecated, ~docstring, ~name, file.contents.topLevel)
55+
| None => showModuleTopLevel(~docstring, ~name, file.contents.topLevel)
6456
| Some({item: Structure({topLevel})}) =>
65-
showModuleTopLevel(~deprecated, ~docstring, ~name, topLevel)
57+
showModuleTopLevel(~docstring, ~name, topLevel)
6658
| Some({item: Ident(_)}) => Some("Unable to resolve module reference")
6759
};
6860
};
@@ -78,12 +70,12 @@ let newHover = (~rootUri, ~file: SharedTypes.file, ~getModule, loc) => {
7870
let%opt md = Hashtbl.find_opt(file.stamps.modules, stamp);
7971
let%opt (file, declared) =
8072
References.resolveModuleReference(~file, ~getModule, md);
81-
let (name, deprecated, docstring) =
73+
let (name, docstring) =
8274
switch (declared) {
83-
| Some(d) => (d.name.txt, d.deprecated, d.docstring)
84-
| None => (file.moduleName, None, file.contents.docstring)
75+
| Some(d) => (d.name.txt, d.docstring)
76+
| None => (file.moduleName, file.contents.docstring)
8577
};
86-
showModule(~deprecated, ~docstring, ~name, ~file, declared);
78+
showModule(~docstring, ~name, ~file, declared);
8779
| LModule(GlobalReference(moduleName, path, tip)) =>
8880
let%opt file = getModule(moduleName);
8981
let env = Query.fileEnv(file);
@@ -92,17 +84,16 @@ let newHover = (~rootUri, ~file: SharedTypes.file, ~getModule, loc) => {
9284
let%opt md = Hashtbl.find_opt(file.stamps.modules, stamp);
9385
let%opt (file, declared) =
9486
References.resolveModuleReference(~file, ~getModule, md);
95-
let (name, deprecated, docstring) =
87+
let (name, docstring) =
9688
switch (declared) {
97-
| Some(d) => (d.name.txt, d.deprecated, d.docstring)
98-
| None => (file.moduleName, None, file.contents.docstring)
89+
| Some(d) => (d.name.txt, d.docstring)
90+
| None => (file.moduleName, file.contents.docstring)
9991
};
100-
showModule(~deprecated, ~docstring, ~name, ~file, declared);
92+
showModule(~docstring, ~name, ~file, declared);
10193
| LModule(NotFound) => None
10294
| TopLevelModule(name) =>
10395
let%opt file = getModule(name);
10496
showModule(
105-
~deprecated=None,
10697
~docstring=file.contents.docstring,
10798
~name=file.moduleName,
10899
~file,
@@ -122,7 +113,7 @@ let newHover = (~rootUri, ~file: SharedTypes.file, ~getModule, loc) => {
122113
},
123114
)
124115
| Typed(t, locKind) =>
125-
let fromType = (~deprecated, ~docstring, typ) => {
116+
let fromType = (~docstring, typ) => {
126117
let typeString = codeBlock(typ |> Shared.typeToString);
127118
let extraTypeInfo = {
128119
let env = Query.fileEnv(file);
@@ -134,44 +125,35 @@ let newHover = (~rootUri, ~file: SharedTypes.file, ~getModule, loc) => {
134125
if (isUncurriedInternal) {
135126
None;
136127
} else {
137-
Some((decl |> Shared.declToString(txt), deprecated, docstring));
128+
Some((decl |> Shared.declToString(txt), docstring));
138129
};
139130
};
140-
let (typeString, deprecated, docstring) =
131+
let (typeString, docstring) =
141132
switch (extraTypeInfo) {
142-
| None => (typeString, deprecated, docstring)
143-
| Some((extra, extraDeprecated, extraDocstring)) => (
133+
| None => (typeString, docstring)
134+
| Some((extra, extraDocstring)) => (
144135
typeString ++ "\n\n" ++ codeBlock(extra),
145-
extraDeprecated,
146136
extraDocstring,
147137
)
148138
};
149-
let deprecatedMsg =
150-
switch (deprecated) {
151-
| None => None
152-
| Some(s) => Some("Deprecated: " ++ s)
153-
};
154-
(Some(typeString), deprecatedMsg, docstring);
139+
(Some(typeString), docstring);
155140
};
156141

157142
let parts =
158143
switch (References.definedForLoc(~file, ~getModule, locKind)) {
159144
| None =>
160-
let (typeString, deprecatedMsg, docstring) =
161-
t |> fromType(~deprecated=None, ~docstring=None);
162-
[typeString, deprecatedMsg, docstring];
163-
| Some((deprecated, docstring, {uri}, res)) =>
145+
let (typeString, docstring) = t |> fromType(~docstring=None);
146+
[typeString, docstring];
147+
| Some((docstring, {uri}, res)) =>
164148
let pathFromRoot = uri |> Uri2.pathFromRoot(~rootUri);
165149

166150
let parts =
167151
switch (res) {
168152
| `Declared =>
169-
let (typeString, deprecatedMsg, docstring) =
170-
t |> fromType(~deprecated, ~docstring);
171-
[typeString, deprecatedMsg, docstring];
153+
let (typeString, docstring) = t |> fromType(~docstring);
154+
[typeString, docstring];
172155
| `Constructor({cname: {txt}, args}) =>
173-
let (typeString, deprecatedMsg, docstring) =
174-
t |> fromType(~deprecated, ~docstring);
156+
let (typeString, docstring) = t |> fromType(~docstring);
175157

176158
let argsString =
177159
switch (args) {
@@ -183,16 +165,10 @@ let newHover = (~rootUri, ~file: SharedTypes.file, ~getModule, loc) => {
183165
|> Printf.sprintf("(%s)")
184166
};
185167

186-
[
187-
typeString,
188-
Some(codeBlock(txt ++ argsString)),
189-
deprecatedMsg,
190-
docstring,
191-
];
168+
[typeString, Some(codeBlock(txt ++ argsString)), docstring];
192169
| `Field({typ}) =>
193-
let (typeString, deprecatedMsg, docstring) =
194-
typ |> fromType(~deprecated, ~docstring);
195-
[typeString, deprecatedMsg, docstring];
170+
let (typeString, docstring) = typ |> fromType(~docstring);
171+
[typeString, docstring];
196172
};
197173

198174
parts @ [Some(pathFromRoot)];

src/rescript-editor-support/References.re

+3-3
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,10 @@ let definedForLoc = (~file, ~getModule, locKind) => {
9999
switch (tip) {
100100
| Constructor(name) =>
101101
let%opt constructor = Query.getConstructor(file, stamp, name);
102-
Some((None, None, file, `Constructor(constructor)));
102+
Some((None, file, `Constructor(constructor)));
103103
| Field(name) =>
104104
let%opt field = Query.getField(file, stamp, name);
105-
Some((None, None, file, `Field(field)));
105+
Some((None, file, `Field(field)));
106106
| _ =>
107107
maybeLog(
108108
"Trying for declared "
@@ -114,7 +114,7 @@ let definedForLoc = (~file, ~getModule, locKind) => {
114114
);
115115
let%opt declared =
116116
Query.declaredForTip(~stamps=file.stamps, stamp, tip);
117-
Some((declared.deprecated, declared.docstring, file, `Declared));
117+
Some((declared.docstring, file, `Declared));
118118
};
119119
};
120120

0 commit comments

Comments
 (0)