Meta/ShellCompletions: Add toolchain completion

This is very convenient for anyone like me who regularly runs the Clang
toolchain. The toolchain is not completed for Lagom and the
toolchain-independent help command.
This commit is contained in:
kleines Filmröllchen 2023-05-10 22:01:16 +02:00 committed by Jelle Raaijmakers
parent ef7afd8331
commit 418f1f82e7
Notes: sideshowbarker 2024-07-17 07:06:47 +09:00

View file

@ -5,6 +5,7 @@ _serenity() {
args=(
'1:command:->commands'
'2:target:->targets'
'3:toolchain:->toolchains'
'*:: :->args'
)
@ -34,6 +35,12 @@ _serenity() {
'lagom:Target host machine'
)
local toolchains
toolchains=(
'GNU:Toolchain gcc or $SERENITY_TOOLCHAIN (default)'
'Clang:Toolchain clang'
)
_arguments -C -S "$args[@]"
local command
@ -42,6 +49,9 @@ _serenity() {
local target
target="$line[2]"
local toolchain
toolchain="$line[3]"
case "$state" in
commands)
_describe 'command' commands
@ -59,6 +69,12 @@ _serenity() {
esac
_describe 'target' targets
;;
toolchains)
if [[ "$command" != help && "$target" != lagom ]]; then
# Toolchain-dependent invocations.
_describe 'toolchain' toolchains
fi
;;
args)
;;
esac