forked from enlightenment/efl
78 lines
1.1 KiB
Bash
Executable File
78 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
cleanup() {
|
|
if [ ! -z "$TFILE" ]; then
|
|
rm "$TFILE"
|
|
fi
|
|
}
|
|
|
|
die() {
|
|
echo "$@"
|
|
echo "Aborting"
|
|
cleanup
|
|
exit 1
|
|
}
|
|
|
|
usage() {
|
|
die "Usage: vieet [-r] <eet file> [section]"
|
|
}
|
|
|
|
READONLY=0
|
|
EETFILE="$1"
|
|
SECTION="$2"
|
|
ARGCNT=2
|
|
|
|
if [ $# -eq 1 ]; then
|
|
if [ "$1" = "-h" ]; then usage; fi
|
|
echo "Available sections:"
|
|
eet -l "$EETFILE"
|
|
exit $?
|
|
fi
|
|
|
|
if [ "$1" = "-r" ]; then
|
|
READONLY=1
|
|
EETFILE=$2
|
|
SECTION=$3
|
|
ARGCNT=3
|
|
fi
|
|
|
|
if [ $# -ne $ARGCNT ]; then
|
|
usage
|
|
fi
|
|
|
|
if [ -z "$EDITOR" ]; then
|
|
die "EDITOR env var must be set."
|
|
fi
|
|
|
|
TFILE=$(mktemp)
|
|
|
|
if [ $? -ne 0 ]; then
|
|
die "Failed creating tempfile."
|
|
fi
|
|
|
|
# Decode the file
|
|
eet -d "$EETFILE" "$SECTION" "$TFILE"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
die "Failed decoding eet file."
|
|
fi
|
|
|
|
DONE=0
|
|
|
|
while [ $DONE -ne 1 ]
|
|
do
|
|
$EDITOR $TFILE
|
|
|
|
if [ $READONLY -eq 1 ]; then break; fi
|
|
eet -e "$EETFILE" "$SECTION" "$TFILE" 1
|
|
if [ $? -ne 0 ]; then
|
|
echo "Failed compiling eet file."
|
|
echo "Press 'Return' to reopen the editor, or ^C to abort."
|
|
read
|
|
else
|
|
DONE=1
|
|
fi
|
|
done
|
|
|
|
cleanup
|