Skip to content

Commit

Permalink
Editor: Iterate objects (#7230)
Browse files Browse the repository at this point in the history
* iterate objects

* changelog

* remove test file
  • Loading branch information
zth authored Jan 9, 2025
1 parent 5628a84 commit d3d1444
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

- Editor: Fix issue where pipe completions would not trigger with generic type arguments. https://github.com/rescript-lang/rescript/pull/7231
- Fix leftover assert false in code for `null != undefined`. https://github.com/rescript-lang/rescript/pull/7232
- Editor: Fix issue where completions would not show up inside of object bodies. https://github.com/rescript-lang/rescript/pull/7230

# 12.0.0-alpha.7

Expand Down
2 changes: 2 additions & 0 deletions analysis/src/CompletionFrontEnd.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1107,6 +1107,8 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor
if expr.pexp_loc |> Loc.hasPos ~pos:posNoWhite && !result = None then (
setFound ();
match expr.pexp_desc with
| Pexp_extension ({txt = "obj"}, PStr [str_item]) ->
Ast_iterator.default_iterator.structure_item iterator str_item
| Pexp_extension ({txt}, _) -> setResult (CextensionNode txt)
| Pexp_constant _ -> setResult Cnone
| Pexp_ident lid ->
Expand Down
10 changes: 10 additions & 0 deletions tests/analysis_tests/tests/src/CompletionObjects.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
let x = Some(true)

let _ff = {
"one": switch x {
| Some(true) => "hello"
// |
// ^com
| _ => ""
},
}
37 changes: 37 additions & 0 deletions tests/analysis_tests/tests/src/expected/CompletionObjects.res.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Complete src/CompletionObjects.res 5:7
posCursor:[5:7] posNoWhite:[5:5] Found expr:[2:10->9:1]
posCursor:[5:7] posNoWhite:[5:5] Found expr:[2:10->9:1]
posCursor:[5:7] posNoWhite:[5:5] Found pattern:__ghost__[0:-1->7:5]
posCursor:[5:7] posNoWhite:[5:5] Found pattern:__ghost__[0:-1->7:5]
Completable: Cpattern Value[x]
Package opens Pervasives.JsxModules.place holder
ContextPath Value[x]
Path x
[{
"label": "None",
"kind": 12,
"tags": [],
"detail": "bool",
"documentation": null
}, {
"label": "Some(_)",
"kind": 12,
"tags": [],
"detail": "bool",
"documentation": null,
"insertText": "Some(${1:_})",
"insertTextFormat": 2
}, {
"label": "Some(true)",
"kind": 4,
"tags": [],
"detail": "bool",
"documentation": null
}, {
"label": "Some(false)",
"kind": 4,
"tags": [],
"detail": "bool",
"documentation": null
}]

0 comments on commit d3d1444

Please sign in to comment.