From 1e900b5fa14b0b3124ba671a7811e6b31c194e0f Mon Sep 17 00:00:00 2001
From: Sergey Matveev <stargrave@stargrave.org>
Date: Tue, 15 Feb 2022 11:34:21 +0300
Subject: [PATCH] Pure zsh client

---
 contrib/paster.zsh | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100755 contrib/paster.zsh

diff --git a/contrib/paster.zsh b/contrib/paster.zsh
new file mode 100755
index 0000000..a4850d5
--- /dev/null
+++ b/contrib/paster.zsh
@@ -0,0 +1,25 @@
+#!/usr/bin/env zsh
+
+set -e
+
+DST=${DST:-paster.example.com 2020}
+[[ -s "$1" ]] && {
+    src="$1"
+    bn=$src:t
+    e=${bn##*.}
+    [[ $bn = $e ]] || ext="1:e${#e}:$e"
+} || {
+    src=`mktemp`
+    trap "rm -f $src" HUP PIPE INT QUIT TERM EXIT
+    cat > $src
+    [[ $# -eq 0 ]] || ext="1:e${#1}:$1"
+}
+zmodload -F zsh/stat b:zstat
+size=`zstat +size $src`
+
+zmodload zsh/net/tcp
+ztcp ${=DST}
+fd=$REPLY
+( print -n "d${ext}1:v${size}:" ; cat $src ; print -n e ) >&$fd
+cat <&$fd
+ztcp -c $fd
-- 
2.51.0