From 32e8bd37db7c95cd0fd77ce02582af290f299a87 Mon Sep 17 00:00:00 2001 From: Yordis Prieto Date: Sat, 8 Jun 2024 11:59:55 -0400 Subject: [PATCH] fix: ci setup job --- .credo.exs | 4 ++-- .github/workflows/ci.yml | 32 ++++++++++--------------- .github/workflows/release.yml | 2 +- config/config.exs | 12 ++++------ lib/slime/compiler.ex | 3 +-- lib/slime/parser/attributes_keyword.ex | 4 +++- lib/slime/parser/embedded_engine.ex | 2 +- lib/slime/parser/preprocessor.ex | 2 +- mix.exs | 2 +- mix.lock | 32 ++++++++++++------------- tasks/compile.peg.exs | 19 ++++++++++----- test/parser/attributes_keyword_test.exs | 2 +- 12 files changed, 57 insertions(+), 59 deletions(-) diff --git a/.credo.exs b/.credo.exs index 32a919a..861b1a6 100644 --- a/.credo.exs +++ b/.credo.exs @@ -119,7 +119,7 @@ {Credo.Check.Refactor.CyclomaticComplexity, []}, {Credo.Check.Refactor.FunctionArity, []}, {Credo.Check.Refactor.LongQuoteBlocks, []}, - {Credo.Check.Refactor.MapInto, []}, + {Credo.Check.Refactor.MapInto, false}, {Credo.Check.Refactor.MatchInCondition, []}, {Credo.Check.Refactor.NegatedConditionsInUnless, []}, {Credo.Check.Refactor.NegatedConditionsWithElse, []}, @@ -134,7 +134,7 @@ {Credo.Check.Warning.ExpensiveEmptyEnumCheck, []}, {Credo.Check.Warning.IExPry, []}, {Credo.Check.Warning.IoInspect, []}, - {Credo.Check.Warning.LazyLogging, []}, + {Credo.Check.Warning.LazyLogging, false}, {Credo.Check.Warning.MixEnv, false}, {Credo.Check.Warning.OperationOnSameValues, []}, {Credo.Check.Warning.OperationWithConstantResult, []}, diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c560e4..04cc625 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,8 +16,8 @@ jobs: Test: strategy: matrix: - elixir: ['1.10', '1.11'] - otp: [22, 23] + elixir: ['1.15', '1.16'] + otp: ['26', '27'] env: MIX_ENV: test runs-on: ubuntu-latest @@ -27,44 +27,35 @@ jobs: with: otp-version: ${{matrix.otp}} elixir-version: ${{matrix.elixir}} + version-type: 'strict' - run: mix deps.get - run: mix test Format: - strategy: - matrix: - elixir: ['1.11'] - otp: [23] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: erlef/setup-beam@v1 with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} + otp-version: '26.2' + elixir-version: '1.16' + version-type: 'strict' - run: mix deps.get - run: mix format --check-formatted Credo: - strategy: - matrix: - elixir: ['1.11'] - otp: [23] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: erlef/setup-beam@v1 with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} + otp-version: '26.2' + elixir-version: '1.16' + version-type: 'strict' - run: mix deps.get - run: mix credo Dialyzer: - strategy: - matrix: - elixir: ['1.11'] - otp: [23] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -83,7 +74,8 @@ jobs: plt-cache- - uses: erlef/setup-beam@v1 with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} + otp-version: '26.2' + elixir-version: '1.16' + version-type: 'strict' - run: mix deps.get - run: mix dialyzer diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7e9cf76..a73aa66 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: jobs: hex-publish: - uses: straw-hat-team/github-actions-workflows/.github/workflows/elixir-hex-publish.yml@v0.1.1 + uses: straw-hat-team/github-actions-workflows/.github/workflows/elixir-hex-publish.yml@v1.6.4 with: elixir-version: '1.11' otp-version: '22.3' diff --git a/config/config.exs b/config/config.exs index 2dbb341..325be7c 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,9 +1,7 @@ -use Mix.Config +import Config -if Mix.env() == :test do - config :slime, :attr_list_delims, %{"[" => "]", "(" => ")"} +config :slime, :attr_list_delims, %{"[" => "]", "(" => ")"} - config :slime, :embedded_engines, %{ - test_engine: RenderEmbeddedEngineTest.TestEngine - } -end +config :slime, :embedded_engines, %{ + test_engine: RenderEmbeddedEngineTest.TestEngine +} diff --git a/lib/slime/compiler.ex b/lib/slime/compiler.ex index 7be6106..b55ae23 100644 --- a/lib/slime/compiler.ex +++ b/lib/slime/compiler.ex @@ -16,8 +16,7 @@ defmodule Slime.Compiler do def compile(tags) when is_list(tags) do tags - |> Enum.map(&compile(&1)) - |> Enum.join() + |> Enum.map_join(&compile(&1)) |> String.replace("\r", "") end diff --git a/lib/slime/parser/attributes_keyword.ex b/lib/slime/parser/attributes_keyword.ex index 18d1b8b..d9d71bf 100644 --- a/lib/slime/parser/attributes_keyword.ex +++ b/lib/slime/parser/attributes_keyword.ex @@ -32,12 +32,14 @@ defmodule Slime.Parser.AttributesKeyword do result else values = merge_attribute_values(values, join) - result = Enum.filter(result, fn {key, _value} -> key != attr end) + result = Enum.filter(result, &key_not_attr?(&1, attr)) [{attr, values} | result] end end) end + defp key_not_attr?({key, _value}, attr), do: key != attr + defp merge_attribute_values(values, join_by) do result = join_attribute_values(values, join_by) diff --git a/lib/slime/parser/embedded_engine.ex b/lib/slime/parser/embedded_engine.ex index 68b16d8..9372175 100644 --- a/lib/slime/parser/embedded_engine.ex +++ b/lib/slime/parser/embedded_engine.ex @@ -17,7 +17,7 @@ defmodule Slime.Parser.EmbeddedEngine do elixir: Slime.Parser.EmbeddedEngine.Elixir, eex: Slime.Parser.EmbeddedEngine.EEx } - |> Map.merge(Application.get_env(:slime, :embedded_engines, %{})) + |> Map.merge(Application.compile_env(:slime, :embedded_engines, %{})) |> Enum.into(%{}, fn {key, value} -> {to_string(key), value} end) @registered_engines Map.keys(@engines) diff --git a/lib/slime/parser/preprocessor.ex b/lib/slime/parser/preprocessor.ex index 27e45ad..1d6168a 100644 --- a/lib/slime/parser/preprocessor.ex +++ b/lib/slime/parser/preprocessor.ex @@ -7,7 +7,7 @@ defmodule Slime.Parser.Preprocessor do @indent "\x0E" @dedent "\x0F" - @tabsize Application.get_env(:slime, :tabsize, 2) + @tabsize Application.compile_env(:slime, :tabsize, 2) def indent_meta_symbol, do: @indent def dedent_meta_symbol, do: @dedent diff --git a/mix.exs b/mix.exs index 2d7dc49..8e18190 100644 --- a/mix.exs +++ b/mix.exs @@ -29,7 +29,7 @@ defmodule Slime.Mixfile do def application do [ - extra_applications: [:eex, :neotoma], + extra_applications: [:eex, :neotoma] ] end diff --git a/mix.lock b/mix.lock index 537a428..21a90a5 100644 --- a/mix.lock +++ b/mix.lock @@ -1,24 +1,24 @@ %{ "benchfella": {:hex, :benchfella, "0.3.5", "b2122c234117b3f91ed7b43b6e915e19e1ab216971154acd0a80ce0e9b8c05f5", [:mix], [], "hexpm", "23f27cbc482cbac03fc8926441eb60a5e111759c17642bac005c3225f5eb809d"}, - "bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"}, - "credo": {:hex, :credo, "1.4.1", "16392f1edd2cdb1de9fe4004f5ab0ae612c92e230433968eab00aafd976282fc", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "155f8a2989ad77504de5d8291fa0d41320fdcaa6a1030472e9967f285f8c7692"}, - "dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"}, + "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, + "credo": {:hex, :credo, "1.7.6", "b8f14011a5443f2839b04def0b252300842ce7388f3af177157c86da18dfbeea", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "146f347fb9f8cbc5f7e39e3f22f70acbef51d441baa6d10169dd604bfbc55296"}, + "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, "earmark": {:hex, :earmark, "1.4.3", "364ca2e9710f6bff494117dbbd53880d84bebb692dafc3a78eb50aa3183f2bfd", [:mix], [], "hexpm", "8cf8a291ebf1c7b9539e3cddb19e9cef066c2441b1640f13c34c1d3cfc825fec"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.17", "6f3c7e94170377ba45241d394389e800fb15adc5de51d0a3cd52ae766aafd63f", [:mix], [], "hexpm", "f93ac89c9feca61c165b264b5837bf82344d13bebc634cd575cb711e2e342023"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.26.0", "1922164bac0b18b02f84d6f69cab1b93bc3e870e2ad18d5dacb50a9e06b542a3", [:mix], [{:earmark_parser, "~> 1.4.0", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2775d66e494a9a48355db7867478ffd997864c61c65a47d31c4949459281c78d"}, - "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, + "ex_doc": {:hex, :ex_doc, "0.34.0", "ab95e0775db3df71d30cf8d78728dd9261c355c81382bcd4cefdc74610bef13e", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "60734fb4c1353f270c3286df4a0d51e65a2c1d9fba66af3940847cc65a8066d7"}, + "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"}, "fs": {:hex, :fs, "0.9.2", "ed17036c26c3f70ac49781ed9220a50c36775c6ca2cf8182d123b6566e49ec59", [:rebar], [], "hexpm"}, - "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"}, - "makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.15.2", "dc72dfe17eb240552857465cc00cce390960d9a0c055c4ccd38b70629227e97c", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "fd23ae48d09b32eff49d4ced2b43c9f086d402ee4fd4fcb2d7fad97fa8823e75"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, - "mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"}, - "mix_test_watch": {:hex, :mix_test_watch, "1.1.0", "330bb91c8ed271fe408c42d07e0773340a7938d8a0d281d57a14243eae9dc8c3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "52b6b1c476cbb70fd899ca5394506482f12e5f6b0d6acff9df95c7f1e0812ec3"}, + "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, + "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, + "makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"}, + "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, + "mix_test_watch": {:hex, :mix_test_watch, "1.2.0", "1f9acd9e1104f62f280e30fc2243ae5e6d8ddc2f7f4dc9bceb454b9a41c82b42", [:mix], [{:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "278dc955c20b3fb9a3168b5c2493c2e5cffad133548d307e0a50c7f2cfbf34f6"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm", "2da322b9b1567ffa0706a7f30f6bbbde70835ae44a1050615f4b4a3d436e0f28"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.2.0", "b44d75e2a6542dcb6acf5d71c32c74ca88960421b6874777f79153bbbbd7dccc", [:mix], [], "hexpm", "52b2871a7515a5ac49b00f214e4165a40724cf99798d8e4a65e4fd64ebd002c1"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "phoenix_html": {:hex, :phoenix_html, "2.14.3", "51f720d0d543e4e157ff06b65de38e13303d5778a7919bcc696599e5934271b8", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "efd697a7fff35a13eeeb6b43db884705cba353a1a41d127d118fda5f90c8e80f"}, - "plug": {:hex, :plug, "1.11.1", "f2992bac66fdae679453c9e86134a4201f6f43a687d8ff1cd1b2862d53c80259", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "23524e4fefbb587c11f0833b3910bfb414bf2e2534d61928e920f54e3a1b881f"}, - "plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"}, - "telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"}, + "plug": {:hex, :plug, "1.16.0", "1d07d50cb9bb05097fdf187b31cf087c7297aafc3fed8299aac79c128a707e47", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cbf53aa1f5c4d758a7559c0bd6d59e286c2be0c6a1fac8cc3eee2f638243b93e"}, + "plug_crypto": {:hex, :plug_crypto, "2.1.0", "f44309c2b06d249c27c8d3f65cfe08158ade08418cf540fd4f72d4d6863abb7b", [:mix], [], "hexpm", "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, } diff --git a/tasks/compile.peg.exs b/tasks/compile.peg.exs index b131cb3..678a052 100644 --- a/tasks/compile.peg.exs +++ b/tasks/compile.peg.exs @@ -9,9 +9,13 @@ defmodule Mix.Tasks.Compile.Peg do @recursive true def run(_) do - attr_list_delims = Application.get_env( - :slime, :attr_list_delims, %{"[" => "]", "(" => ")", "{" => "}"} - ) + attr_list_delims = + Application.get_env( + :slime, + :attr_list_delims, + %{"[" => "]", "(" => ")", "{" => "}"} + ) + grammar = EEx.eval_file("src/slime_parser.peg.eex", attr_list_delims: attr_list_delims) if contents_changed?("src/slime_parser.peg", grammar) do @@ -33,11 +37,14 @@ defmodule Mix.Tasks.Compile.Peg do defp compile_grammar(file, grammar) do File.write!(file, grammar) - peg = file |> Path.expand |> String.to_charlist + peg = file |> Path.expand() |> String.to_charlist() + case :neotoma.file(peg, transform_module: :slime_parser_transform) do - :ok -> :ok + :ok -> + :ok + {:error, reason} -> - Mix.shell.error "Failed to compile: #{inspect reason}" + Mix.shell().error("Failed to compile: #{inspect(reason)}") exit(:normal) end end diff --git a/test/parser/attributes_keyword_test.exs b/test/parser/attributes_keyword_test.exs index 2ef4e6a..623726b 100644 --- a/test/parser/attributes_keyword_test.exs +++ b/test/parser/attributes_keyword_test.exs @@ -43,7 +43,7 @@ defmodule ParserAttributesKeywordTest do %{class: " ", id: "+"} ) - assert result == [id: "id+id1", class: "a b"] + assert result == [class: "a b", id: "id+id1"] end end end