From 418f1f82e7d122ac0a3205643c1a054caab3d25f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Wed, 10 May 2023 22:01:16 +0200 Subject: [PATCH] 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. --- Meta/ShellCompletions/zsh/_serenity | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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