Command Function Example
Demonstrates how to specify a custom function name for commands. This option is used internally by bashly to determine the names of the functions for any command.
Normally, this should not be modified, but in some use cases it might be necessary. One such use case, is when you have two commands that naturally evaluate to the same function name.
Assuming your CLI responds to both:
cli container-startcli container start
In this case, the internal function names will both be cli_container_start,
which might be undesirable. This is where the function directive comes in
handy.
Also note that the name specified here is just used as a base name. Bashly will generate several functions from it:
cli_container_start_commandcli_container_start_usage- and possibly more
This example was generated with:
$ bashly init
# ... now edit src/bashly.yml to match the example ...
$ bashly generatebashly.yml
name: cli help: Sample application with custom function names version: 0.1.0 commands: - name: container-start help: Start a new container (deprecated) # Override the name of the internal functions bashly uses. This is needed # in this case since the command `container-start` and the nested command # `container start` will have the same underlying function name otherwise. function: deprecated_container_start footer: This command is deprecated, use 'container start' instead - name: container help: Container commands commands: - name: start help: Start a new container
Output
$ ./cli
cli - Sample application with custom function names Usage: cli COMMAND cli [COMMAND] --help | -h cli --version | -v Commands: container-start Start a new container (deprecated) container Container commands
$ ./cli -h
cli - Sample application with custom function names Usage: cli COMMAND cli [COMMAND] --help | -h cli --version | -v Commands: container-start Start a new container (deprecated) container Container commands Options: --help, -h Show this help --version, -v Show version number
$ ./cli container-start --help
cli container-start - Start a new container (deprecated) Usage: cli container-start cli container-start --help | -h Options: --help, -h Show this help This command is deprecated, use 'container start' instead
$ ./cli container start --help
cli container start - Start a new container Usage: cli container start cli container start --help | -h Options: --help, -h Show this help