Let writing CLI like writing a document.
pnpm i @0x-jerry/silver
Example:
import { silver } from '@0x-jerry/silver'
// @autocompletion will enable `completion` subcommand to generate autocomplete script
// Autocompletion only support zsh for now, and need to install manually
// Manual install: you need to append `source <(silver completion)` to `.zshrc`
const ins = sliver`
v1.0.0 @autocompletion
Silver, let you writing CLI like writing document. ${defaultAction}
-t --test @test:defaultValue, Test autocompletion.
up/upgrade <@test:dir> [...other] #stopEarly, an sub command. ${upgradeAction}
-s --string @string:default, sub command option.
--small @bool, other option.
`
// register autocomplete
ins.type('type', () => ['t1', 't2', 't3'])
function defaultAction([type], options) {
console.log(type, options)
}
function upgradeAction([dir], options) {
console.log(dir, options)
}
Please see syntax.ohm.