2016-05-24 11:17:03 +00:00
|
|
|
function fish_clipboard_copy
|
2018-11-25 16:32:25 +00:00
|
|
|
# Copy the current selection, or the entire commandline if that is empty.
|
|
|
|
set -l cmdline (commandline --current-selection)
|
|
|
|
test -n "$cmdline"; or set cmdline (commandline)
|
2016-11-28 05:27:22 +00:00
|
|
|
if type -q pbcopy
|
2018-11-25 16:32:25 +00:00
|
|
|
printf '%s\n' $cmdline | pbcopy
|
2016-05-24 11:17:03 +00:00
|
|
|
else if type -q xsel
|
2018-04-25 21:10:58 +00:00
|
|
|
# Silence error so no error message shows up
|
|
|
|
# if e.g. X isn't running.
|
2018-11-25 16:32:25 +00:00
|
|
|
printf '%s\n' $cmdline | xsel --clipboard 2>/dev/null
|
2018-06-02 20:53:02 +00:00
|
|
|
else if type -q xclip
|
2018-11-25 16:32:25 +00:00
|
|
|
printf '%s\n' $cmdline | xclip -selection clipboard 2>/dev/null
|
2016-05-24 11:17:03 +00:00
|
|
|
end
|
|
|
|
end
|