Hi everybody,
I have a question I wanted to ask for a long time but never had the opportunity.
When I was learning the basics and discovered mix
I was confused by the last item shown in the help listing:
~>mix help
mix # Runs the default task (current: "mix run")
...
mix run # Starts and runs the current application
mix test # Runs a project's tests
mix xref # Prints cross reference information
iex -S mix # Starts IEx and runs the default task
Why the heck starting IEx in the Mix Project context it’s not mix iex
or something like that…
But after playing more and more I discovered that it makes total sense to use iex -S mix
so that you can still pass option to IEx like --erl
or --cookie
etc…
But to be honest I also always wondered why the flag is capitalized -S
instead of -s
.
It seems that the Script option of iex
is inherit from elixir
but I don’t see any existing -s
option (lowercase).
I’m not a vim-golfer or a script-golfer or any kind of other code-golfer, but this extra key stroke for the most used command (for me in development) mildly infuriates me.
Also, actually I’m using a shortcut to run that command so it doesn’t bother me anymore and now I can shrug too… But I just wanted to learn the reason at least. I expect it has a valid reason but I didn’t see.