-
Notifications
You must be signed in to change notification settings - Fork 709
Disambiguate options and commands #3583
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I've thought about this, but it's not very practical:
But this is Haskell! We're all about building abstractions and reducing boilerplate. Maybe there is something we can do here. |
At some point, we will have to do one of two things:
If we don't do one of these two things, we can never, ever move forward. (For the record, this is why you may have seen me publicly declaring unpopular opinions like, custom Setup scripts were the biggest mistake ever.) |
Oh I hear you. See these bugs:
Decoupling the flags is a good idea; I'd support it. |
As I am refactoring the command-line flag handling code, I have noticed that many commands have "options" which fundamentally change the mode (operation) of the command. For example, consider the
register
command; it has three separate modes and two of them don't actually register the package! This is probably confusing to the user and it's certainly messier to implement.I propose splitting all the "modes" out into their own commands, so that all the "options" are actually options. I think Cabal 2.0 is the ideal time to introduce such changes that break command-line compatibility.
The text was updated successfully, but these errors were encountered: