diff options
| author | Robert Estelle <robertestelle@gmail.com> | 2019-07-12 17:01:10 -0400 | 
|---|---|---|
| committer | Robert Estelle <robertestelle@gmail.com> | 2019-07-12 17:45:57 -0400 | 
| commit | d855547661ee4173bd01ab89ad18418d4dbf508a (patch) | |
| tree | 7360b0e5ca62933186ae4b0ef2e866840406acab /lib | |
| parent | 29fb617e6b6b18fc7bdfef74fc57bbdf0e2fe52b (diff) | |
| download | zsh-d855547661ee4173bd01ab89ad18418d4dbf508a.tar.gz zsh-d855547661ee4173bd01ab89ad18418d4dbf508a.tar.bz2 zsh-d855547661ee4173bd01ab89ad18418d4dbf508a.zip | |
clipboard: Reduce unnecessary special-casing on stdin
Ideally the parameter would just be removed-users could always
just do "clipcopy < some-file". but removing the parameter would break
backwards compatibility.
In any case, this simplifies the logic considerably.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/clipboard.zsh | 27 | 
1 files changed, 6 insertions, 21 deletions
| diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh index 2c93d1bb5..15ad6d916 100644 --- a/lib/clipboard.zsh +++ b/lib/clipboard.zsh @@ -17,32 +17,17 @@  #  function clipcopy() {    emulate -L zsh -  local file=$1 +  local file="${1:-/dev/stdin}" +    if [[ $OSTYPE == darwin* ]]; then -    if [[ -z $file ]]; then -      pbcopy -    else -      cat $file | pbcopy -    fi +    pbcopy < "${file}"    elif [[ $OSTYPE == cygwin* ]]; then -    if [[ -z $file ]]; then -      cat > /dev/clipboard -    else -      cat $file > /dev/clipboard -    fi +    cat "${file}" > /dev/clipboard    else      if (( $+commands[xclip] )); then -      if [[ -z $file ]]; then -        xclip -in -selection clipboard -      else -        xclip -in -selection clipboard $file -      fi +      xclip -in -selection clipboard < "${file}"      elif (( $+commands[xsel] )); then -      if [[ -z $file ]]; then -        xsel --clipboard --input  -      else -        cat "$file" | xsel --clipboard --input -      fi +      xsel --clipboard --input  < "${file}"      else        print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2        return 1 | 
