zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

set_default_command.ex (927B)


      1 defmodule Credo.Execution.Task.SetDefaultCommand do
      2   @moduledoc false
      3 
      4   @default_command_name "suggest"
      5   @explain_command_name "explain"
      6 
      7   use Credo.Execution.Task
      8 
      9   alias Credo.CLI.Filename
     10   alias Credo.CLI.Options
     11 
     12   def call(exec, _opts) do
     13     determine_command(exec, exec.cli_options)
     14   end
     15 
     16   defp determine_command(exec, %Options{command: nil, args: args} = options) do
     17     potential_path = List.first(args)
     18 
     19     if Filename.contains_line_no?(potential_path) do
     20       set_command_and_path(exec, options, @explain_command_name, potential_path)
     21     else
     22       set_command_and_path(exec, options, @default_command_name, options.path)
     23     end
     24   end
     25 
     26   defp determine_command(exec, _options), do: exec
     27 
     28   defp set_command_and_path(exec, options, command, path) do
     29     %Execution{
     30       exec
     31       | cli_options: %Options{
     32           options
     33           | command: command,
     34             path: path
     35         }
     36     }
     37   end
     38 end