Update README.md

pull/53/head
rwxrob 2 years ago
parent 31e645a06c
commit e37c08d6f3
No known key found for this signature in database
GPG Key ID: 2B9111F33082AE77

@ -91,7 +91,7 @@ other security tools
## Example GitHub Template
<https://github.com/rwxrob/bonzai-template>
<https://github.com/rwxrob/foo>
## Design Considerations
@ -109,25 +109,31 @@ other security tools
Method directly from one matching the Method function signature in a
callable, high-level library.
* **Only bash completion planned.** Zsh, Powershell, and Fish have no
equivalent to `complete -C` (which allows any executable to provide
its own completion) This forces inferior dependencies on overly verbose
external "completer" scripts written in only those languages for
those specific shells. This dependency completely negates any
possibility of providing modular completers and composable commands
that carry their own completion logic. This one objective fact alone
should give every pause before opting to use one of these inferior
shells for their command line interactions. Bonzai commands leverage
this best-of-breed completion functionality of bash to provide an
unlimited number of completion methods and combinations. The
equivalent implementations, perhaps as an export collected from all
composed commands providing their shell equivalent of completion
scripts, would be preposterously large (even though `kubectl` requires
12637 lines of bash just for its basic completion). Bonzai uses Go
itself to manage that completion --- drawing on a rich collection of
completers included in the standard Bonzai module --- and provides
documented shortcut aliases when completion is not available (h|help,
for example).
* **Only bash completion planned.** If it doesn't work with `complete
-C` or equivalent then just run the monolith as a temporary shell
("the Bonzai shell) and use its cross-platform support for tab
completion.
Zsh, Powershell, and Fish have no equivalent to `complete -C` (which
allows any executable to provide its own completion). This forces
inferior dependencies on overly verbose external "completer" scripts
written in only those languages for those specific shells. This
dependency completely negates any possibility of providing modular
completers and composable commands that carry their own completion
logic. This one objective fact alone should give everyone pause before
opting to use one of these inferior shells for their command line
interactions.
Bonzai commands leverage this best-of-breed completion functionality
of bash to provide an unlimited number of completion methods and
combinations. The equivalent implementations, perhaps as an export
collected from all composed commands providing their shell equivalent
of completion scripts, would be preposterously large just for its
basic completion tree). Instead, Bonzai uses Go itself to manage
that completion --- drawing on a rich collection of completers
included in the standard Bonzai module --- and provides documented
shortcut aliases when completion is not available (h|help, for
example).
* **Bonzai commands may default to `shell.Cmd` or `help.Cmd`** These
provide help information and optional interactive assistance
@ -181,7 +187,7 @@ Copyright 2022 Robert S. Muhlestein (<mailto:rob@rwx.gg>)
SPDX-License-Identifier: Apache-2.0
"Bonzai" and "bonzai" are legal trademarks of Robert S. Muhlestein but
can be used freely to refer to the Bonzai project
can be used freely to refer to the Bonzai project
<https://github.com/rwxrob/bonzai> without limitation. To avoid
potential developer confusion, intentionally using these trademarks to
refer to other projects --- free or proprietary --- is prohibited.

Loading…
Cancel
Save