Add _safe_eval: quote $@ elements before eval

This commit is contained in:
Tom "Ravi" Hale
2018-08-24 19:30:16 +07:00
parent d5c60b2cc5
commit fb7d227c30
3 changed files with 56 additions and 0 deletions

View File

@@ -26,11 +26,27 @@ tab_completions(){ echo "${COMPREPLY[@]}"; }
silentGitCommands() {
git() { /usr/bin/env git "$@" > /dev/null 2>&1; }
}
# Cancel silent git commands
verboseGitCommands() {
unset -f git
}
# Quote the contents of "$@" in single quotes
# Avoid printf '%q' as 'a b' becomes a\ b in both {ba,z}sh
# See also quote_args and double_quote
function token_quote {
if [[ $shell = bash ]]; then
# Single quotes are always added
echo "${@@Q}"
else # zsh
# Single quotes only added when needed
#shellcheck disable=2154 # zsh
echo "${(qq)@}"
fi
}
# Asserts
#-----------------------------------------------------------------------------