Skip to content

Commit 6ac3aef

Browse files
committed
set/unset jsx context marker
1 parent 324058c commit 6ac3aef

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
@@ -777,11 +777,10 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
777777
in
778778
let value_binding (iterator : Ast_iterator.iterator)
779779
(value_binding : Parsetree.value_binding) =
780-
if
781-
locHasCursor value_binding.pvb_expr.pexp_loc
782-
&& Utils.isReactComponent value_binding
783-
then inJsxContext := true;
784-
Ast_iterator.default_iterator.value_binding iterator value_binding
780+
let oldInJsxContext = !inJsxContext in
781+
if Utils.isReactComponent value_binding then inJsxContext := true;
782+
Ast_iterator.default_iterator.value_binding iterator value_binding;
783+
inJsxContext := oldInJsxContext
785784
in
786785
let signature (iterator : Ast_iterator.iterator)
787786
(signature : Parsetree.signature) =
@@ -859,6 +858,7 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
859858
Ast_iterator.default_iterator.attribute iterator (id, payload)
860859
in
861860
let expr (iterator : Ast_iterator.iterator) (expr : Parsetree.expression) =
861+
let oldInJsxContext = !inJsxContext in
862862
let processed = ref false in
863863
let setFound () =
864864
found := true;
@@ -1115,6 +1115,7 @@ let completionWithParser1 ~currentFile ~debug ~offset ~path ~posCursor ~text =
11151115
processed := true
11161116
| _ -> ());
11171117
if not !processed then Ast_iterator.default_iterator.expr iterator expr
1118+
else inJsxContext := oldInJsxContext
11181119
in
11191120
let typ (iterator : Ast_iterator.iterator) (core_type : Parsetree.core_type) =
11201121
if core_type.ptyp_loc |> Loc.hasPos ~pos:posNoWhite then (

0 commit comments

Comments
 (0)