tools/ci.sh: Add --bash-completion option.

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
This commit is contained in:
Jeff Epler
2025-09-21 09:50:02 -05:00
committed by Damien George
parent 293bb0e575
commit 70c4ffa770
2 changed files with 27 additions and 0 deletions

View File

@@ -306,6 +306,22 @@ As an example, you can build and test the unix minimal port with:
$ tools/ci.sh unix_minimal_build unix_minimal_run_tests
If you use the bash shell, you can add a ``ci`` command with tab completion:
.. code-block:: bash
$ eval `tools/ci.sh --bash-completion`
$ ci unix_cov<tab>
This will complete the ci step name to ``unix_coverage_``.
Pressing tab a second time will show the list of matching steps:
.. code-block:: bash
$ ci unix_coverage_<tab>
unix_coverage_32bit_build
unix_coverage_32bit_run_native_mpy_tests…
Folder structure
----------------

View File

@@ -1005,11 +1005,22 @@ function _ci_help {
exit
}
function _ci_bash_completion {
echo "alias ci=\"$(readlink -f "$0")\"; complete -W '$(grep '^function ci_' $0 | awk '{print $2}' | sed 's/^ci_//')' ci"
}
function _ci_main {
case "$1" in
(-h|-?|--help)
_ci_help
;;
(--bash-completion)
_ci_bash_completion
;;
(-*)
echo "Unknown option: $1" 1>&2
exit 1
;;
(*)
set -e
cd $(dirname "$0")/..