summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lf/lfrc24
1 files changed, 24 insertions, 0 deletions
diff --git a/lf/lfrc b/lf/lfrc
index 8473fd8..cbe77a4 100644
--- a/lf/lfrc
+++ b/lf/lfrc
@@ -30,6 +30,30 @@ cmd open ${{
esac
}}
+# Override paste command
+cmd paste ${{
+ while read -r line; do
+ set -- "$@" "$line"
+ done < ~/.local/share/lf/files
+ mode="$1"
+ shift
+ case "$mode" in
+ copy)
+ echo "lf-paste in ${PWD}: rsync -av --backup -- $@ ." >> ~/.cache/lf.log
+ rsync -av --backup --progress -- "$@" . |
+ stdbuf -i0 -o0 -e0 tr '\r' '\n' |
+ while IFS= read -r line; do
+ lf -remote "send $id echo $line"
+ done
+ ;;
+ move)
+ echo "lf-paste in ${PWD}: mv -n -- $@ ." >> ~/.cache/lf.log
+ mv -n -- "$@" .;;
+ esac
+ rm ~/.local/share/lf/files
+ lf -remote "send clear"
+}}
+
cmd execute ${{ exec "$f" }}
cmd vimv ${{ exec vimv }}