summaryrefslogtreecommitdiff
path: root/Meta
diff options
context:
space:
mode:
Diffstat (limited to 'Meta')
-rw-r--r--Meta/ShellCompletions/zsh/_serenity16
1 files changed, 16 insertions, 0 deletions
diff --git a/Meta/ShellCompletions/zsh/_serenity b/Meta/ShellCompletions/zsh/_serenity
index f23c3126fb..b18c2bc692 100644
--- a/Meta/ShellCompletions/zsh/_serenity
+++ b/Meta/ShellCompletions/zsh/_serenity
@@ -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