diff --git a/lib/credo/check/config_comment.ex b/lib/credo/check/config_comment.ex index def6d1943..78fee6aff 100644 --- a/lib/credo/check/config_comment.ex +++ b/lib/credo/check/config_comment.ex @@ -135,7 +135,7 @@ defmodule Credo.Check.ConfigComment do defp value_for(param_string) do if regex_value?(param_string) do param_string - |> Credo.Backports.String.slice(1..-2//-1) + |> Credo.Backports.String.slice(Range.new(1, -2, -1)) |> Regex.compile!("i") else String.to_atom("Elixir.#{param_string}") diff --git a/lib/credo/check/consistency/multi_alias_import_require_use/collector.ex b/lib/credo/check/consistency/multi_alias_import_require_use/collector.ex index 3165a57ae..d4aa681f8 100644 --- a/lib/credo/check/consistency/multi_alias_import_require_use/collector.ex +++ b/lib/credo/check/consistency/multi_alias_import_require_use/collector.ex @@ -38,7 +38,7 @@ defmodule Credo.Check.Consistency.MultiAliasImportRequireUse.Collector do aliases = case arguments do [{:__aliases__, _, nested_modules}] when length(nested_modules) > 1 -> - base_name = Credo.Backports.Enum.slice(nested_modules, 0..-2//-1) + base_name = Credo.Backports.Enum.slice(nested_modules, Range.new(0, -2, -1)) {:single, base_name} [{{:., _, [{:__aliases__, _, _namespaces}, :{}]}, _, _nested_aliases}] -> diff --git a/lib/credo/check/readability/large_numbers.ex b/lib/credo/check/readability/large_numbers.ex index 6023ba815..f0aa4f40b 100644 --- a/lib/credo/check/readability/large_numbers.ex +++ b/lib/credo/check/readability/large_numbers.ex @@ -181,7 +181,7 @@ defmodule Credo.Check.Readability.LargeNumbers do Enum.map(allowed_trailing_digits, fn trailing_digits -> if String.length(string) > trailing_digits do base = - Credo.Backports.String.slice(string, 0..(-1 * trailing_digits - 1)) + Credo.Backports.String.slice(string, Range.new(0, -1 * trailing_digits - 1, -1)) |> String.reverse() |> String.replace(~r/(\d{3})(?=\d)/, "\\1_") |> String.reverse() diff --git a/lib/credo/check/warning/unused_function_return_helper.ex b/lib/credo/check/warning/unused_function_return_helper.ex index a61b12f36..46877d105 100644 --- a/lib/credo/check/warning/unused_function_return_helper.ex +++ b/lib/credo/check/warning/unused_function_return_helper.ex @@ -132,7 +132,7 @@ defmodule Credo.Check.Warning.UnusedFunctionReturnHelper do when is_list(arguments) do # IO.inspect(ast, label: "#{unquote(op)} (#{Macro.to_string(candidate)} #{acc})") - head_expression = Credo.Backports.Enum.slice(arguments, 0..-2//-1) + head_expression = Credo.Backports.Enum.slice(arguments, Range.new(0, -2, -1)) if Credo.Code.contains_child?(head_expression, candidate) do {nil, :VERIFIED} diff --git a/lib/credo/cli/command/diff/task/get_git_diff.ex b/lib/credo/cli/command/diff/task/get_git_diff.ex index 843da8f2a..e32c5230e 100644 --- a/lib/credo/cli/command/diff/task/get_git_diff.ex +++ b/lib/credo/cli/command/diff/task/get_git_diff.ex @@ -104,17 +104,31 @@ defmodule Credo.CLI.Command.Diff.Task.GetGitDiff do defp run_credo_on_dir(exec, dirname, previous_git_ref, given_ref) do {previous_argv, _last_arg} = exec.argv - |> Credo.Backports.Enum.slice(1..-1//-1) + |> Credo.Backports.Enum.slice(Range.new(1, -1, -1)) |> Enum.reduce({[], nil}, fn - _, {argv, "--working-dir"} -> {Credo.Backports.Enum.slice(argv, 1..-2//-1), nil} - _, {argv, "--from-git-merge-base"} -> {Credo.Backports.Enum.slice(argv, 1..-2//-1), nil} - _, {argv, "--from-git-ref"} -> {Credo.Backports.Enum.slice(argv, 1..-2//-1), nil} - _, {argv, "--from-dir"} -> {Credo.Backports.Enum.slice(argv, 1..-2//-1), nil} - _, {argv, "--since"} -> {Credo.Backports.Enum.slice(argv, 1..-2//-1), nil} - "--show-fixed", {argv, _last_arg} -> {argv, nil} - "--show-kept", {argv, _last_arg} -> {argv, nil} - ^previous_git_ref, {argv, _last_arg} -> {argv, nil} - arg, {argv, _last_arg} -> {argv ++ [arg], arg} + _, {argv, "--working-dir"} -> + {Credo.Backports.Enum.slice(argv, Range.new(1, -2, -1)), nil} + + _, {argv, "--from-git-merge-base"} -> + {Credo.Backports.Enum.slice(argv, Range.new(1, -2, -1)), nil} + + _, {argv, "--from-git-ref"} -> + {Credo.Backports.Enum.slice(argv, Range.new(1, -2, -1)), nil} + + _, {argv, "--from-dir"} -> + {Credo.Backports.Enum.slice(argv, Range.new(1, -2, -1)), nil} + + _, {argv, "--since"} -> + {Credo.Backports.Enum.slice(argv, Range.new(1, -2, -1)), nil} + + "--show-kept", {argv, _last_arg} -> + {argv, nil} + + ^previous_git_ref, {argv, _last_arg} -> + {argv, nil} + + arg, {argv, _last_arg} -> + {argv ++ [arg], arg} end) run_credo(exec, previous_git_ref, dirname, previous_argv, given_ref) diff --git a/lib/credo/cli/command/explain/output/default.ex b/lib/credo/cli/command/explain/output/default.ex index 300c178a1..7d19b7507 100644 --- a/lib/credo/cli/command/explain/output/default.ex +++ b/lib/credo/cli/command/explain/output/default.ex @@ -269,7 +269,7 @@ defmodule Credo.CLI.Command.Explain.Output.Default do |> String.trim() |> String.split("\n") |> Enum.flat_map(&format_explanation(&1, outer_color)) - |> Credo.Backports.Enum.slice(0..-2//-1) + |> Credo.Backports.Enum.slice(Range.new(0, -2, -1)) |> UI.puts() UI.puts_edge([outer_color, :faint])