aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-06-06 21:41:54 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-06-06 21:41:54 +0200
commit8b50c699652e39812024af2c34973c6359302c46 (patch)
treed56fbf1e0999617ad6c64fd5192ffe4225fd9ea6
parent5dd1844b66908cb16f7b7e1a792a11b9780de183 (diff)
downloadvp-8b50c699652e39812024af2c34973c6359302c46.tar.gz
Read stdin if not a tty
-rwxr-xr-xvp17
-rwxr-xr-xvpeval7
2 files changed, 22 insertions, 2 deletions
diff --git a/vp b/vp
index 366a1b6..88bfdf9 100755
--- a/vp
+++ b/vp
@@ -1,2 +1,17 @@
#!/bin/sh
-exec vi +':so /usr/local/etc/vprc' "$@" `mktemp`
+
+VPIN=
+if [ ! -t 0 ]; then
+ VPIN=`mktemp`
+ cat > "$VPIN"
+fi
+export VPIN
+
+f=`mktemp`
+</dev/tty >/dev/tty vi +':so /usr/local/etc/vprc' "$@" "$f"
+[ "$(wc -c "$f" | awk '{print $1}')" -eq 0 ] && rm "$f"
+
+if [ ! -z "$VPIN" ]; then
+ cat "$VPIN"
+ rm "$VPIN"
+fi
diff --git a/vpeval b/vpeval
index 4c5b785..3031cff 100755
--- a/vpeval
+++ b/vpeval
@@ -1,2 +1,7 @@
#!/bin/sh
-echo "$(eval "$(sed '/^#/d')" 2>&1)" | sed 's/^/# /'
+{
+ if [ -z "$VPIN" ]
+ then eval "$(sed '/^#/d')" 2>&1
+ else eval "$(sed '/^#/d')" 2>&1 <"$VPIN"
+ fi
+} | sed 's/^/# /'