scripts/lib/common.zsh

45 lines
860 B
Bash
Raw Normal View History

2020-04-02 08:38:36 +00:00
autoload -Uz colors && colors
local c_fail="${fg_bold[red]}$reset_color"
2020-04-02 08:43:50 +00:00
local c_warn="${fg_bold[yellow]}$reset_color"
2020-04-02 08:38:36 +00:00
local c_success="${fg_bold[green]}$reset_color"
check() {
echo -n " ? $*"
}
result() {
echo -n "\e[s"
echo -n "\e[1G $1"
echo -n "\e[u"
shift
echo " $*"
}
fail() { result $c_fail $@ }
2020-04-02 08:43:50 +00:00
warn() { result $c_warn $@ }
2020-04-02 08:38:36 +00:00
succeed() { result $c_success $@ }
error() { echo -n " "; fail $@ }
2020-04-02 08:43:50 +00:00
warning() { echo -n " "; warn $@ }
2020-04-02 08:38:36 +00:00
depend() {
local missing
local i
for i in "$@"; do
type "$i" &>/dev/null || {
echo >&2 " $c_fail Missing dependency: $i. Please install it"
missing=1
}
done
[[ -n "$missing" ]] && exit 1
}
urlencode() {
setopt extendedglob
input=$(</dev/stdin)
# by jkramer, source: http://stackoverflow.com/a/187853/928769
echo "${${(j: :)input}//(#b)(?)/%$[[##16]##${match[1]}]}"
}