Skip to content

Commit 99560fc

Browse files
committed
feat: range metadata
1 parent 7d4b443 commit 99560fc

10 files changed

Lines changed: 1669 additions & 684 deletions

lib/spitfire.ex

Lines changed: 690 additions & 323 deletions
Large diffs are not rendered by default.

src/spitfire_interpolation.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ build_string([], Output) -> Output;
307307
build_string(Buffer, Output) -> [lists:reverse(Buffer) | Output].
308308

309309
build_interpol(Line, Column, EndLine, EndColumn, Buffer, Output) ->
310-
[{{Line, Column, nil}, {EndLine, EndColumn, nil}, Buffer} | Output].
310+
[{{Line, Column, EndLine, EndColumn, nil}, {EndLine, EndColumn, EndLine, EndColumn, nil}, Buffer} | Output].
311311

312312
prepend_warning(Line, Column, Msg, #spitfire_tokenizer{warnings=Warnings} = Scope) ->
313313
Scope#spitfire_tokenizer{warnings = [{{Line, Column}, Msg} | Warnings]}.

src/spitfire_tokenizer.erl

Lines changed: 98 additions & 95 deletions
Large diffs are not rendered by default.

test/char_property_test.exs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1659,7 +1659,8 @@ defmodule Spitfire.CharPropertyTest do
16591659
"""
16601660
end
16611661

1662-
assert elixir_ast == spitfire_ast, msg
1662+
assert Spitfire.TestHelpers.strip_range_metadata(elixir_ast) ==
1663+
Spitfire.TestHelpers.strip_range_metadata(spitfire_ast), msg
16631664

16641665
{:error, _spitfire_ast, _errors} ->
16651666
msg =

test/conformance_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2935,7 +2935,7 @@ defmodule Spitfire.ConformanceTest do
29352935

29362936
defp spitfire_parse(code) do
29372937
case Spitfire.parse(code) do
2938-
{:ok, ast} -> {:ok, ast}
2938+
{:ok, ast} -> {:ok, Spitfire.TestHelpers.strip_range_metadata(ast)}
29392939
{:error, _ast, _errors} -> {:error, :parse_error}
29402940
{:error, :no_fuel_remaining} -> {:error, :no_fuel_remaining}
29412941
end

test/operators_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2316,7 +2316,7 @@ defmodule Spitfire.OperatorsTest do
23162316

23172317
defp spitfire_parse(code, _options \\ []) do
23182318
case Spitfire.parse(code) do
2319-
{:ok, ast} -> {:ok, ast}
2319+
{:ok, ast} -> {:ok, Spitfire.TestHelpers.strip_range_metadata(ast)}
23202320
{:error, _ast, _errors} -> {:error, :parse_error}
23212321
{:error, :no_fuel_remaining} -> {:error, :no_fuel_remaining}
23222322
end

0 commit comments

Comments
 (0)