From 4c292ea2b023a331dcf1af5644487f2272d24a4d Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Sun, 20 Sep 2015 14:39:46 +0200 Subject: Initial commit of Zsh Navigation Tools --- plugins/zsh-navigation-tools/znt-usetty-wrapper | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 plugins/zsh-navigation-tools/znt-usetty-wrapper (limited to 'plugins/zsh-navigation-tools/znt-usetty-wrapper') diff --git a/plugins/zsh-navigation-tools/znt-usetty-wrapper b/plugins/zsh-navigation-tools/znt-usetty-wrapper new file mode 100644 index 000000000..19c5ac8b6 --- /dev/null +++ b/plugins/zsh-navigation-tools/znt-usetty-wrapper @@ -0,0 +1,40 @@ +emulate -L zsh + +zmodload zsh/curses + +test_fd0() { + true <&0 +} + +local restore=0 FD + +# Reattach to terminal +if [ ! -t 0 ]; then + # Check if can reattach to terminal in any way + if [[ ! -c /dev/tty && ! -t 2 ]]; then + echo "No terminal available (no /dev/tty and no terminal at stderr)" + return 1 + fi + + if test_fd0 2>/dev/null; then + exec {FD}<&0 + restore=2 + else + restore=1 + fi + + if [[ ! -c /dev/tty ]]; then + exec <&2 + else + exec