X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=37d3943bab9d131ed6f900148cb579a14c194956;hb=1f1c1f5c0fdadbfb6b835f12c8137c0f3cc553ed;hp=4e7ef0906066b2a99f67db21052353128b35a5e0;hpb=8564319c233b615c6b2500f166cfdcc0e8d1185c;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 4e7ef09..37d3943 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -242,7 +242,7 @@ function zrcautoload() { local -i ffound ffile=$1 - (( found = 0 )) + (( ffound = 0 )) for fdir in ${fpath} ; do [[ -e ${fdir}/${ffile} ]] && (( ffound = 1 )) done @@ -1225,7 +1225,7 @@ if zrcautoload colors && colors 2>/dev/null ; then MAGENTA="%{${fg[magenta]}%}" YELLOW="%{${fg[yellow]}%}" WHITE="%{${fg[white]}%}" - NO_COLOUR="%{${reset_color}%}" + NO_COLOR="%{${reset_color}%}" else BLUE=$'%{\e[1;34m%}' RED=$'%{\e[1;31m%}' @@ -1234,7 +1234,7 @@ else WHITE=$'%{\e[1;37m%}' MAGENTA=$'%{\e[1;35m%}' YELLOW=$'%{\e[1;33m%}' - NO_COLOUR=$'%{\e[0m%}' + NO_COLOR=$'%{\e[0m%}' fi # gather version control information for inclusion in a prompt @@ -1266,10 +1266,10 @@ if [[ "$TERM" == dumb ]] ; then zstyle ':vcs_info:*' actionformats "(%s%)-[%b|%a] " "zsh: %r" zstyle ':vcs_info:*' formats "(%s%)-[%b] " "zsh: %r" else - # these are the same, just with a lot of colours: - zstyle ':vcs_info:*' actionformats "${MAGENTA}(${NO_COLOUR}%s${MAGENTA})${YELLOW}-${MAGENTA}[${GREEN}%b${YELLOW}|${RED}%a${MAGENTA}]${NO_COLOUR} " \ + # these are the same, just with a lot of colors: + zstyle ':vcs_info:*' actionformats "${MAGENTA}(${NO_COLOR}%s${MAGENTA})${YELLOW}-${MAGENTA}[${GREEN}%b${YELLOW}|${RED}%a${MAGENTA}]${NO_COLOR} " \ "zsh: %r" - zstyle ':vcs_info:*' formats "${MAGENTA}(${NO_COLOUR}%s${MAGENTA})${YELLOW}-${MAGENTA}[${GREEN}%b${MAGENTA}]${NO_COLOUR}%} " \ + zstyle ':vcs_info:*' formats "${MAGENTA}(${NO_COLOR}%s${MAGENTA})${YELLOW}-${MAGENTA}[${GREEN}%b${MAGENTA}]${NO_COLOR}%} " \ "zsh: %r" zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat "%b${RED}:${YELLOW}%r" fi @@ -1396,13 +1396,13 @@ else # prompt below) if [[ $GRMLPROMPT -gt 0 ]] ; then PROMPT="${RED}${EXITCODE}${CYAN}[%j running job(s)] ${GREEN}{history#%!} ${RED}%(3L.+.) ${BLUE}%* %D -${BLUE}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< " +${BLUE}%n${NO_COLOR}@%m %40<...<%B%~%b%<< " else # This assembles the primary prompt string if (( EUID != 0 )); then - PROMPT="${RED}${EXITCODE}${WHITE}${debian_chroot:+($debian_chroot)}${BLUE}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< " + PROMPT="%B${RED}${EXITCODE}${WHITE}${debian_chroot:+($debian_chroot)}${BLUE}%b%n${NO_COLOR}@${CYAN}%m${NO_COLOR} %40<...<%B%~%b%<< " else - PROMPT="${BLUE}${EXITCODE}${WHITE}${debian_chroot:+($debian_chroot)}${RED}%n${NO_COLOUR}@%m %40<...<%B%~%b%<< " + PROMPT="%B${BLUE}${EXITCODE}${WHITE}${debian_chroot:+($debian_chroot)}${RED}%b%n${NO_COLOR}@${CYAN}%m${NO_COLOR} %40<...<%B%~%b%<< " fi fi fi @@ -2632,12 +2632,15 @@ xtrename() { # API reference: https://code.google.com/apis/urlshortener/ function zurl() { emulate -L zsh + setopt extended_glob + if [[ -z $1 ]]; then print "USAGE: zurl " return 1 fi - local PN url prog api json data + local PN url prog api json contenttype item + local -a data PN=$0 url=$1 @@ -2655,11 +2658,19 @@ function zurl() { api='https://www.googleapis.com/urlshortener/v1/url' contenttype="Content-Type: application/json" json="{\"longUrl\": \"${url}\"}" - data=$($prog --silent -H ${contenttype} -d ${json} $api) - # Match against a regex and print it - if [[ $data =~ '"id": "(http://goo.gl/[[:alnum:]]+)"' ]]; then - print $match; - fi + data=(${(f)"$($prog --silent -H ${contenttype} -d ${json} $api)"}) + # Parse the response + for item in "${data[@]}"; do + case "$item" in + ' '#'"id":'*) + item=${item#*: \"} + item=${item%\",*} + printf '%s\n' "$item" + return 0 + ;; + esac + done + return 1 } #f2# Find history events by search pattern and list them by date.