From 4dceca4855362708a6199cf868463cdb66438e53 Mon Sep 17 00:00:00 2001 From: Shrikant Sharat Date: Tue, 24 Jul 2012 23:03:53 +0530 Subject: [PATCH] Add support for boolean arguments to -bundle. Currently, a keyword style argument given to -bundle command requires a value, like `--name=val`. With this, just a `--name` would imply `--name=true` --- antigen.zsh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/antigen.zsh b/antigen.zsh index 16a8359..df87ed6 100644 --- a/antigen.zsh +++ b/antigen.zsh @@ -37,9 +37,16 @@ antigen-bundle () { # Set spec values from keyword arguments, if any. The remaining arguments # are all assumed to be keyword arguments. - while [[ $1 == --*=* ]]; do - local arg_name="$(echo "$1" | cut -d= -f1 | sed 's/^--//')" - local arg_value="$(echo "$1" | cut -d= -f2)" + while [[ $1 == --* ]]; do + local arg="${1#--}" + + if [[ $arg != *=* ]]; then + arg="$arg=true" + fi + + local arg_name="${arg%\=*}" + local arg_value="${arg#*\=}" + eval "local $arg_name='$arg_value'" shift done -- 2.0.0