1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-11 00:10:08 +00:00

clip*: add xsel support

This commit is contained in:
Andrew Janke 2015-10-04 03:42:24 -04:00
parent e4fdb08365
commit b6d78df62c
2 changed files with 33 additions and 14 deletions

View file

@ -31,15 +31,21 @@ function clipcopy() {
cat $file > /dev/clipboard cat $file > /dev/clipboard
fi fi
else else
which xclip &>/dev/null if which xclip &>/dev/null; then
if [[ $? != 0 ]]; then if [[ -z $file ]]; then
print "clipcopy: Platform $OSTYPE not supported or xclip not installed" >&2 xclip -in -selection clipboard
return 1 else
fi xclip -in -selection clipboard $file
if [[ -z $file ]]; then fi
xclip -in -selection clipboard elif which xsel &>/dev/null; then
if [[ -z $file ]]; then
xsel --clipboard --input
else
cat "$file" | xsel --clipboard --input
fi
else else
xclip -in -selection clipboard $file print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2
return 1
fi fi
fi fi
} }
@ -50,6 +56,17 @@ function clipcopy() {
# #
# clippaste - writes clipboard's contents to stdout # clippaste - writes clipboard's contents to stdout
# #
# clippaste | <command> - pastes contents and pipes it to another process
#
# clippaste > <file> - paste contents to a file
#
# Examples:
#
# # Pipe to another process
# clippaste | grep foo
#
# # Paste to a file
# clippaste > file.txt
function clippaste() { function clippaste() {
emulate -L zsh emulate -L zsh
if [[ $OSTYPE == darwin* ]]; then if [[ $OSTYPE == darwin* ]]; then
@ -57,11 +74,13 @@ function clippaste() {
elif [[ $OSTYPE == cygwin* ]]; then elif [[ $OSTYPE == cygwin* ]]; then
cat /dev/clipboard cat /dev/clipboard
else else
which xclip &>/dev/null if which xclip &>/dev/null; then
if [[ $? != 0 ]]; then xclip -out -selection clipboard
print "clipcopy: Platform $OSTYPE not supported or xclip not installed" >&2 elif which xsel &>/dev/null; then
xsel --clipboard --output
else
print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2
return 1 return 1
fi fi
xclip -out -selection clipboard
fi fi
} }

View file

@ -2,4 +2,4 @@
function copydir { function copydir {
emulate -L zsh emulate -L zsh
print -n $PWD | clipcopy print -n $PWD | clipcopy
} }