#!/bin/zsh # W - open file in wily, wait until window is closed WAIT=true [ "$1" = "-n" ] && { WAIT=false; shift } LINE=0 case "$1"; in +*) LINE=${1[2,-1]} shift esac if [ -z "$1" ]; then echo "usage: $0 [-n] [+LINE] FILE" 1>&2 exit 1 fi 1=$1:a # wgoto needs absolute path wgoto "$1:$LINE" 2>/dev/null || { # Try starting wily wily &! sleep 1 wgoto "$1:$LINE" || exit 1 } $WAIT || exit trap 'echo canceled.; exit 0' INT echo -n Editing "$1" in wily... while $WAIT && wins | grep -q "^$1 "; do sleep 1 done echo done.