Skip to content

Commit 1f7ac44

Browse files
committed
set/unset jsx context marker
1 parent a5dfd94 commit 1f7ac44

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

analysis/src/CompletionFrontEnd.ml

+6-5
Original file line numberDiff line numberDiff line change
@@ -1038,11 +1038,10 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
10381038
in
10391039
let value_binding (iterator : Ast_iterator.iterator)
10401040
(value_binding : Parsetree.value_binding) =
1041-
if
1042-
locHasCursor value_binding.pvb_expr.pexp_loc
1043-
&& Utils.isReactComponent value_binding
1044-
then inJsxContext := true;
1045-
Ast_iterator.default_iterator.value_binding iterator value_binding
1041+
let oldInJsxContext = !inJsxContext in
1042+
if Utils.isReactComponent value_binding then inJsxContext := true;
1043+
Ast_iterator.default_iterator.value_binding iterator value_binding;
1044+
inJsxContext := oldInJsxContext
10461045
in
10471046
let signature (iterator : Ast_iterator.iterator)
10481047
(signature : Parsetree.signature) =
@@ -1120,6 +1119,7 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
11201119
Ast_iterator.default_iterator.attribute iterator (id, payload)
11211120
in
11221121
let expr (iterator : Ast_iterator.iterator) (expr : Parsetree.expression) =
1122+
let oldInJsxContext = !inJsxContext in
11231123
let processed = ref false in
11241124
let setFound () =
11251125
found := true;
@@ -1379,6 +1379,7 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
13791379
processed := true
13801380
| _ -> ());
13811381
if not !processed then Ast_iterator.default_iterator.expr iterator expr
1382+
else inJsxContext := oldInJsxContext
13821383
in
13831384
let typ (iterator : Ast_iterator.iterator) (core_type : Parsetree.core_type) =
13841385
if core_type.ptyp_loc |> Loc.hasPos ~pos:posNoWhite then (

0 commit comments

Comments
 (0)