Skip to content

Commit 83d739a

Browse files
lucacervelloLuca Cervello
andauthored
feat: handle access syntax on multiple lines (#10)
Co-authored-by: Luca Cervello <[email protected]>
1 parent 7e61ec2 commit 83d739a

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

lib/spitfire.ex

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -749,9 +749,15 @@ defmodule Spitfire do
749749

750750
extra_meta = [from_brackets: true]
751751

752+
newlines =
753+
case peek_newlines(parser, :eol) do
754+
nil -> []
755+
nl -> [newlines: nl]
756+
end
757+
752758
parser = parser |> next_token() |> eat_eol()
753759
closing = current_meta(parser)
754-
meta = extra_meta ++ [{:closing, closing} | meta]
760+
meta = extra_meta ++ newlines ++ [{:closing, closing} | meta]
755761

756762
ast = {{:., meta, [Access, :get]}, meta, [lhs, rhs]}
757763

test/spitfire_test.exs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@ defmodule SpitfireTest do
2828
"%{bar: :foo}[:bar]",
2929
"state.parent_meta[:line]",
3030
"@preferred_envs[task]",
31-
"!!meta[:diff]"
31+
"!!meta[:diff]",
32+
"foo[1]",
33+
~S'''
34+
foo[
35+
:bar
36+
]
37+
'''
3238
]
3339

3440
for code <- codes do

0 commit comments

Comments
 (0)