@@ -634,11 +634,10 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
634
634
in
635
635
let completePattern (pat : Parsetree.pattern ) =
636
636
match (pat |> traversePattern ~pattern Path:[] , ! lookingForPat) with
637
- | Some (prefix , [] ), Some (Completable. Cpattern p ) ->
638
- setResult (Completable. Cpattern {p with prefix; nested = None })
639
- | Some (prefix , nestedPattern ), Some (Cpattern p ) ->
637
+ | Some (prefix , nestedPattern ), Some ctxPath ->
640
638
setResult
641
- (Cpattern {p with prefix; nested = Some (List. rev nestedPattern)})
639
+ (Completable. Cpattern
640
+ {typ = ctxPath; prefix; nested = List. rev nestedPattern})
642
641
| _ -> ()
643
642
in
644
643
let scopeValueBinding (vb : Parsetree.value_binding ) =
@@ -674,8 +673,7 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
674
673
! scope |> Scope. addModule ~name: md.pmd_name.txt ~loc: md.pmd_name.loc
675
674
in
676
675
let setLookingForPat ctxPath =
677
- lookingForPat :=
678
- Some (Completable. Cpattern {typ = ctxPath; prefix = " " ; nested = None });
676
+ lookingForPat := Some ctxPath;
679
677
if debug then
680
678
Printf. printf " looking for: %s \n " (Completable. toString (Cpath ctxPath))
681
679
in
@@ -706,7 +704,7 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
706
704
| None -> ()
707
705
| Some ctxPath ->
708
706
setResult
709
- (Completable. Cpattern {typ = ctxPath; nested = None ; prefix = " " }))
707
+ (Completable. Cpattern {typ = ctxPath; nested = [] ; prefix = " " }))
710
708
| Pexp_match (exp , _cases ) -> (
711
709
(* If there's more than one case, or the case isn't a pattern hole, set that we're looking for this path currently. *)
712
710
match exp |> exprToContextPath with
0 commit comments