Skip to content

Commit 7402fc0

Browse files
committed
empty record expression
1 parent b11f460 commit 7402fc0

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

analysis/src/CompletionFrontEndRevamped.ml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,11 @@ let completionWithParser ~currentFile ~debug ~offset ~path ~posCursor text =
434434
processed := true
435435
| Pexp_extension ({txt = "obj"}, PStr [str_item]) ->
436436
Ast_iterator.default_iterator.structure_item iterator str_item
437+
| Pexp_record ([], _) ->
438+
(* Empty fields means we're in a record body `{}`. Complete for the fields. *)
439+
setResult
440+
(Cexpression
441+
{kind = Field {hint = ""}; typeLoc = expr.pexp_loc; posOfDot})
437442
| Pexp_extension ({txt}, _) -> setResult (CextensionNode txt)
438443
| Pexp_constant _ -> setResult Cnone
439444
| Pexp_ident lid ->
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
// == TEST: Empty let assignment expression, array
22
let x: array<string> =
33
// ^com
4+
5+
// == TEST: Empty let assignment expression, record
6+
let x: TestTypeDefs.nestedTestRecord =
7+
// ^com
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Found Completable: Cexpression at type loc: [1:4->1:5]
2+
3+
1// Empty let assignment expression, record
4+
2let x: TestTypeDefs.nestedTestRecord =
5+
│ ‾
6+
3// ^com
7+
4
8+
9+
[{
10+
"label": "{}",
11+
"kind": 12,
12+
"tags": [],
13+
"detail": "TestTypeDefs.nestedTestRecord",
14+
"documentation": {"kind": "markdown", "value": "```rescript\ntype nestedTestRecord = {\n test: bool,\n nested: {name: string, oneMoreLevel: {here: bool}},\n}\n```"},
15+
"sortText": "A",
16+
"insertText": "{$0}",
17+
"insertTextFormat": 2
18+
}]
19+

0 commit comments

Comments
 (0)