Mercurial > index.cgi > dotfiles
annotate bin/hgeditor @ 100:d635f7e31032
'tock' function added:
* Creates a sound effect near the end of a standard JT65 receive window for
easier monitoring of transmissions without having to watch the app the whole
time.
author | Steve Huston <huston@srhuston.net> |
---|---|
date | Wed, 18 Dec 2013 16:58:20 -0500 |
parents | fe021064d723 |
children |
rev | line source |
---|---|
84
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
1 #!/bin/sh |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
2 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
3 HGTMP="" |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
4 cleanup_exit() { |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
5 rm -rf "$HGTMP" |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
6 } |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
7 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
8 # Remove temporary files even if we get interrupted |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
9 trap "cleanup_exit" 0 # normal exit |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
10 trap "exit 255" HUP INT QUIT ABRT TERM |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
11 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
12 HGTMP=$(mktemp -d ${TMPDIR-/tmp}/hgeditor.XXXXXX) |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
13 [ x$HGTMP != x -a -d $HGTMP ] || { |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
14 echo "Could not create temporary directory! Exiting." 1>&2 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
15 exit 1 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
16 } |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
17 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
18 ( |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
19 grep '^HG: changed' "$1" | cut -b 13- | while read changed; do |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
20 "$HG" diff "$changed" >> "$HGTMP/diff" |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
21 done |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
22 ) |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
23 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
24 cat "$1" > "$HGTMP/msg" |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
25 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
26 MD5=$(which md5sum 2>/dev/null) || \ |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
27 MD5=$(which md5 2>/dev/null) |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
28 [ -x "${MD5}" ] && CHECKSUM=`${MD5} "$HGTMP/msg"` |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
29 if [ -s "$HGTMP/diff" ]; then |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
30 vim "+e $HGTMP/diff" '+set buftype=help filetype=diff' "+split $HGTMP/msg" "+wincmd r" "+resize 10" || exit $? |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
31 else |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
32 vim "$HGTMP/msg" || exit $? |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
33 fi |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
34 [ -x "${MD5}" ] && (echo "$CHECKSUM" | ${MD5} -c >/dev/null 2>&1 && exit 13) |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
35 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
36 mv "$HGTMP/msg" "$1" |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
37 |
fe021064d723
Adding 'hgeditor' to repo & environment
Steve Huston <huston@srhuston.net>
parents:
diff
changeset
|
38 exit $? |