zio-cli
cleo
zio-cli | cleo | |
---|---|---|
2 | 2 | |
125 | 1,223 | |
0.0% | 0.9% | |
7.3 | 8.1 | |
8 days ago | 20 days ago | |
Scala | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zio-cli
-
Creating a bash completion script (2018)
>It would almost be easier to modify the bash source itself to read and use a regular grammar
It's an interesting idea that we're using for zio-cli [1].
[1] https://github.com/zio/zio-cli/pull/119
-
Recommended CLI parsing libraries
I know this is at very early stage, no docs, not recommended for prod use but you may want to add zio-cli into your watch list.
cleo
-
Creating a bash completion script (2018)
I use Cleo for python, same thing, has the ability to generate completion scripts. I also find the API far saner than argparse or click. I don't really use the docstring-parser, I prefer using the Command api for finer control, but it's really cool to just write the help docs and automagically get options.
https://github.com/sdispater/cleo
-
What parts of the standard library are most valuable to learn *deeply*?
You should check out Cleo. It lets you document your functions and specify the arguments at once in a really simple way. Cleo is the cli parser for the Poetry package manager.
What are some alternatives?
decline - A composable command-line parser for Scala.
picocli - Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.
Scallop - a simple Scala CLI parsing library
case-app - Type-level & seamless command-line argument parsing for Scala
Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.
autocomplete - IDE-style autocomplete for your existing terminal & shell
fzf - :cherry_blossom: A command-line fuzzy finder
zsh-completions - Additional completion definitions for Zsh.