Skip to content

Commit

Permalink
fix formatting of foo[bar + 1] (#2110)
Browse files Browse the repository at this point in the history
fixes #2109
  • Loading branch information
anmonteiro authored and chenglou committed Aug 9, 2018
1 parent 37108c7 commit afb8a9d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 10 deletions.
12 changes: 12 additions & 0 deletions formatTest/unit_tests/expected_output/sharpop.re
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,15 @@ foo##bar[0]##baz[1];
foo##bar #= bar[0];

foo##bar##baz #= bar##baz[0];

foo[bar + 1];

foo.[bar + 1];

foo.{bar + 1};

foo.[bar + 1] = 1;

foo.{bar + 1} = 1;

foo[bar + 1] = 1;
12 changes: 12 additions & 0 deletions formatTest/unit_tests/input/sharpop.re
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,15 @@ foo##bar[0]##baz[1];
foo##bar#=bar[0];

foo##bar##baz #= bar##baz[0];

foo[bar + 1];

foo.[bar + 1];

foo.{bar + 1};

foo.[bar + 1] = 1;

foo.{bar + 1} = 1;

foo[bar + 1] = 1;
16 changes: 6 additions & 10 deletions src/reason-parser/reason_pprint_ast.ml
Original file line number Diff line number Diff line change
Expand Up @@ -3442,7 +3442,7 @@ let printer = object(self:'self)
| "Genarray" -> (
match label_exprs with
| [(_,a);(_,{pexp_desc=Pexp_array ls});(_,c)] ->
let formattedList = List.map (self#simplifyUnparseExpr ~wrap:("(", ")")) ls in
let formattedList = List.map self#unparseExpr ls in
let lhs = makeList [self#simple_enough_to_be_lhs_dot_send a; atom "."] in
let rhs = makeList ~break:IfNeed ~postSpace:true ~sep:commaSep ~wrap:("{", "}") formattedList
in
Expand All @@ -3455,7 +3455,7 @@ let printer = object(self:'self)
match List.rev rest with
| (_,v)::rest ->
let args = List.map snd (List.rev rest) in
let formattedList = List.map self#simplifyUnparseExpr args in
let formattedList = List.map self#unparseExpr args in
let lhs = makeList [self#simple_enough_to_be_lhs_dot_send a; atom "."] in
let rhs = makeList ~break:IfNeed ~postSpace:true ~sep:commaSep ~wrap:("{", "}") formattedList in
Some (label lhs rhs, v)
Expand Down Expand Up @@ -3900,9 +3900,7 @@ let printer = object(self:'self)
let lhs = self#unparseResolvedRule (
self#ensureExpression ~reducesOnToken:prec e1
) in
let rhs = self#unparseResolvedRule (
self#ensureContainingRule ~withPrecedence:prec ~reducesAfterRight:e2 ()
) in
let rhs = self#unparseExpr e2 in
SpecificInfixPrecedence
({reducePrecedence=prec; shiftPrecedence=prec}, LayoutNode (self#access "[" "]" lhs rhs))
end
Expand All @@ -3918,9 +3916,7 @@ let printer = object(self:'self)
let lhs = self#unparseResolvedRule (
self#ensureExpression ~reducesOnToken:prec e1
) in
let rhs = self#unparseResolvedRule (
self#ensureContainingRule ~withPrecedence:prec ~reducesAfterRight:e2 ()
) in
let rhs = self#unparseExpr e2 in
SpecificInfixPrecedence
({reducePrecedence=prec; shiftPrecedence=prec}, LayoutNode (self#access ".[" "]" lhs rhs))
| (
Expand All @@ -3934,7 +3930,7 @@ let printer = object(self:'self)
in
Simple (label k v)
else
let formattedList = List.map self#simplifyUnparseExpr ls in
let formattedList = List.map self#unparseExpr ls in
let lhs = makeList [(self#simple_enough_to_be_lhs_dot_send e1); atom "."] in
let rhs = makeList ~break:IfNeed ~postSpace:true ~sep:commaSep ~wrap:("{", "}") formattedList in
let prec = Custom "prec_lbracket" in
Expand All @@ -3952,7 +3948,7 @@ let printer = object(self:'self)
in
Simple (label k v)
else
let formattedList = List.map self#simplifyUnparseExpr (List.map snd rest) in
let formattedList = List.map self#unparseExpr (List.map snd rest) in
let lhs = makeList [(self#simple_enough_to_be_lhs_dot_send e1); atom "."] in
let rhs = makeList ~break:IfNeed ~postSpace:true ~sep:commaSep ~wrap:("{", "}") formattedList in
let prec = Custom "prec_lbracket" in
Expand Down

0 comments on commit afb8a9d

Please sign in to comment.