diff --git a/zsh/func/bool b/zsh/func/bool new file mode 100644 index 0000000..c5bf961 --- /dev/null +++ b/zsh/func/bool @@ -0,0 +1,31 @@ +# Eryn Wells +# vim: set ft=zsh: + +function bool { + if [[ $1 -eq 0 ]]; then + echo "no" + return false + fi + + local lowercase_value=${(L)1} + + if [[ "$lowercase_value" == "yes" ]]; then + echo "yes" + return true + fi + + if [[ "$lowercase_value" == "no" ]]; then + echo "no" + return false + fi + + if [[ "$lowercase_value" =~ '^[0-9]+$' ]]; then + echo "yes" + return true + fi + + echo "no" + return false +} + +bool "$@"