fix: properly parse boolean switches from positional args

This commit is contained in:
Zach Daniel 2024-08-08 00:12:15 -04:00
parent f356cce3a4
commit 63dade260e

View file

@ -6,21 +6,14 @@ defmodule Installer.Lib.Private.SharedUtils do
def extract_positional_args(argv, got_argv, positional) do def extract_positional_args(argv, got_argv, positional) do
case OptionParser.next(argv, switches: []) do case OptionParser.next(argv, switches: []) do
{:ok, _key, _value, rest} -> {_, _key, true, rest} ->
extract_positional_args( extract_positional_args(
rest, rest,
got_argv ++ [Enum.at(argv, 0), Enum.at(argv, 1)], got_argv ++ [Enum.at(argv, 0)],
positional positional
) )
{:invalid, _key, _value, rest} -> {_, _key, _value, rest} ->
extract_positional_args(
rest,
got_argv ++ [Enum.at(argv, 0), Enum.at(argv, 1)],
positional
)
{:undefined, _key, _value, rest} ->
extract_positional_args( extract_positional_args(
rest, rest,
got_argv ++ [Enum.at(argv, 0), Enum.at(argv, 1)], got_argv ++ [Enum.at(argv, 0), Enum.at(argv, 1)],