Made the separator in stdout mode configurable with '--stdout_separator' and '$stdout_separator'

This commit is contained in:
Dylan 2016-03-02 17:56:28 +11:00
parent dc54ca530d
commit 3a826e16cc
2 changed files with 28 additions and 2 deletions

View File

@ -321,6 +321,14 @@ scrot_dir="$HOME/Pictures"
scrot_name="neofetch-%Y-%m-%d-%H:%M.png" scrot_name="neofetch-%Y-%m-%d-%H:%M.png"
# }}}
# Stdout options {{{
# Separator for stdout mode
# --stdout_separator string
stdout_separator=" "
# }}} # }}}
# Config Options {{{ # Config Options {{{

View File

@ -342,6 +342,14 @@ scrot_dir="$HOME/Pictures"
scrot_name="neofetch-%Y-%m-%d-%H:%M.png" scrot_name="neofetch-%Y-%m-%d-%H:%M.png"
# }}}
# Stdout options {{{
# Separator for stdout mode
# --stdout_separator string
stdout_separator=" "
# }}} # }}}
# Config Options {{{ # Config Options {{{
@ -1955,15 +1963,25 @@ prin () {
# Stdout {{{ # Stdout {{{
stdout () { stdout () {
stdout_separator_flag="$(awk -F '--stdout_separator ' '{printf $2}' <<< "${args[@]}")"
stdout_separator_flag=${stdout_separator_flag/ '--'*}
[ ! -z "$stdout_separator_flag" ] && \
stdout_separator="$stdout_separator_flag"
index=0
for func in "${args[@]}"; do for func in "${args[@]}"; do
case "$func" in case "$func" in
"--"*) break ;; "--"*) break ;;
*) *)
"get$func" 2>/dev/null "get$func" 2>/dev/null
eval output="\$$func" eval output="\$$func"
printf "%s" "$output " case "${args[$((index + 1))]}" in "--"*) unset stdout_separator ;; esac
printf "%s" "${output}${stdout_separator}"
;; ;;
esac esac
index=$((index + 1))
done done
exit exit
} }
@ -2447,7 +2465,7 @@ while [ "$1" ]; do
unset info_color colors unset info_color colors
case "$2" in case "$2" in
"--"* | "") echo "--stdout requires at least one argument"; exit ;; "--"* | "") echo "--stdout requires at least one argument"; exit ;;
*) shift; args=("$@"); config="off" stdout ;; *) shift; args=("$@"); config="off"; stdout ;;
esac esac
;; ;;