view unixSoft/bin/afcopy @ 501:514374a2a5bc

emacs: migrate rust config to use rls and lsp
author Augie Fackler <raf@durin42.com>
date Sat, 03 Oct 2020 11:30:21 -0400
parents 4c5814d3cfd8
children
line wrap: on
line source

#!/bin/sh
if [ `uname` = Darwin ] ; then
  pbcopy
else
    if [ -z "${TMUX:-}" ]; then
        DATA="$(cat)"
        # Copy the data to the terminal clipboard using OSC 52 escape codes.
        # See http://invisible-island.net/xterm/ctlseqs/ctlseqs.html, “Ps = 5 2”.
        echo -en '\e]52;c;'
        echo -n "$DATA" | base64 -w0
        echo -en '\a'
    else
        tmux set-buffer -- "$DATA"
        # Use a double-escape to send escape codes directly to the terminal.
        # See https://github.com/tmux/tmux/commit/79e30daeae1d49a1cf1dc4618edf1ec82804a80c.
        echo -en '\ePtmux;\e\e]52;c;'
        echo -n "$DATA" | base64 -w0
        echo -en '\a\e\\'
    fi
    if [ -n "${DISPLAY:-}" ] ; then
        xclip -selection clipboard
    fi
fi