Disambiguate options and commands
Open
cabal-install: other
Cabal: other
type: enhancement
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
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.
Contributor guide
Assessment
This issue has not been assessed yet.