zf

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

parse_options.ex (918B)


      1 defmodule Credo.Execution.Task.ParseOptions do
      2   @moduledoc false
      3 
      4   use Credo.Execution.Task
      5 
      6   alias Credo.CLI.Options
      7   alias Credo.CLI.Output.UI
      8   alias Credo.Execution
      9 
     10   def call(exec, opts) do
     11     add_common_aliases? = opts[:parser_mode] == :preliminary
     12     use_strict_parser? = opts[:parser_mode] == :strict
     13 
     14     command_names = Execution.get_valid_command_names(exec)
     15 
     16     given_command_name =
     17       if exec.cli_options do
     18         exec.cli_options.command
     19       end
     20 
     21     cli_aliases =
     22       if add_common_aliases? do
     23         exec.cli_aliases ++ [h: :help, v: :version]
     24       else
     25         exec.cli_aliases
     26       end
     27 
     28     cli_options =
     29       Options.parse(
     30         use_strict_parser?,
     31         exec.argv,
     32         File.cwd!(),
     33         command_names,
     34         given_command_name,
     35         [UI.edge()],
     36         exec.cli_switches,
     37         cli_aliases
     38       )
     39 
     40     %Execution{exec | cli_options: cli_options}
     41   end
     42 end