17 lines
337 B
Elixir
17 lines
337 B
Elixir
defmodule Options do
|
|
|
|
def parse([]), do: defaults
|
|
def parse(args) do
|
|
Enum.reduce(args, defaults, fn(arg, acc) ->
|
|
Map.merge(acc, parse_argument(arg))
|
|
end)
|
|
end
|
|
|
|
def parse_argument("--clear-screen"), do: %{ clear_screen: true}
|
|
def parse_argument(_), do: %{}
|
|
|
|
defp defaults do
|
|
%{ clear_screen: false}
|
|
end
|
|
end
|