diff --git a/lib/spitfire.ex b/lib/spitfire.ex index be54d5c..65ed8c8 100644 --- a/lib/spitfire.ex +++ b/lib/spitfire.ex @@ -1756,6 +1756,9 @@ defmodule Spitfire do :rel_op, :arrow_op, :in_op, + :when_op, + :in_match_op, + :type_op, :xor_op, :ternary_op, :concat_op, diff --git a/test/spitfire_test.exs b/test/spitfire_test.exs index 1dff579..2687777 100644 --- a/test/spitfire_test.exs +++ b/test/spitfire_test.exs @@ -2301,6 +2301,11 @@ defmodule SpitfireTest do assert Spitfire.parse("%e.(){}") == s2q("%e.(){}") assert Spitfire.parse("%e.(1){}") == s2q("%e.(1){}") assert Spitfire.parse("%e.(a, b){}") == s2q("%e.(a, b){}") + + # Ellipsis followed by infix operators that should not be consumed as RHS + assert Spitfire.parse("x...<-y") == s2q("x...<-y") + assert Spitfire.parse("x...::y") == s2q("x...::y") + assert Spitfire.parse("x... when y") == s2q("x... when y") end end