Will post my working environment in case I’m doing something or it’s a fixed bug and I don’t know about it:
Erlang/OTP 25 [erts-13.2] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]
Elixir 1.14.4 (compiled with Erlang/OTP 23)
MacBook Pro M1, Mac OS Ventura, ZSH and ASDF for version control (that’s why Elixir compiled with OTP 23 on an OTP 25)
Current behavior:
iex> OptionParser.parse(["--working-flag", "yes", "--not_working_flag", "5"], switches: [working_flag: :string, not_working_flag: :integer])
{[working_flag: "yes"], ["5"], []}
Expected behavior:
iex> OptionParser.parse(["--working-flag", "yes", "--not_working_flag", "5"], switches: [working_flag: :string, not_working_flag: :integer])
{[working_flag: "yes", not_working_flag: 5], [], []}
As you can see, if I define underscored flags/switches they just go away instead of the expected behavior of being recognized and parsed correctly. Is this a normal behavior? If so I think there should be a warning or something in the documentation (or maybe there is but I don’t see it) to not use underscored switches. In my case I can work around it by just changing switches to dash separated, no big deal but I think this might be a regression or new bug. I wanted to ask here before filing a bug on Elixir’s GitHub