VirtusLab / scala-cli

Scala CLI is a command-line tool to interact with the Scala language. It lets you compile, run, test, and package your Scala code (and more!)
https://scala-cli.virtuslab.org
Apache License 2.0
554 stars 129 forks source link

Better overall CLI UX #13

Closed alexarchambault closed 1 year ago

alexarchambault commented 3 years ago

For now, individual commands use case-app to parse arguments, and picking commands is manual.

Ideally, we'd like to have:

case-app lacks support for completions, his usage and help messages are poorly formatted and have no colors, and its commands API is complex.

moped could have been a candidate for that, but for a few cons:

We also don't have a need for many of its features (testkit, conversion to / from JSON / HOCON / …)

lwronski commented 2 years ago

For now, individual commands use case-app to parse arguments, and picking commands is manual.

picking commands is now automatic.

completions for option names and option values

From v2.1.0-M3 case-app support completions for bash and `zsh.

comprehensive and colorful usage and help messages, both for listing commands and for individual commands

Fixed in #286. It seems to me that coloring is also supported by the case-app.

tgodzik commented 1 year ago

It seems we can close it for now, we have a separate issue for fish completions.