[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Mon Feb 26 23:01:59 UTC 2018
src/dev-run.sh | 32 ++++++++++++++++++++++++++++----
1 file changed, 28 insertions(+), 4 deletions(-)
New commits:
commit 6c844ae8e89f52f5f40eace66bb987544fc316e3
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Mon Feb 26 23:04:27 2018 +0330
[dev-run] show images using iTerm2 images feature
diff --git a/src/dev-run.sh b/src/dev-run.sh
index c7018112..9c82db0b 100755
--- a/src/dev-run.sh
+++ b/src/dev-run.sh
@@ -9,14 +9,28 @@
# $ cmake -DHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild
# $ src/dev-run.sh [FONT-FILE] [TEXT]
#
+# If you are using iTerm2, issue the script like this:
+# $ src/dev-run.sh img [FONT-FILE] [TEXT]
+#
[ $# = 0 ] && echo Usage: "src/dev-run.sh [FONT-FILE] [TEXT]" && exit
command -v entr >/dev/null 2>&1 || { echo >&2 "This script needs `entr` be installed"; exit 1; }
+
GDB=gdb
# if gdb doesn't exist, hopefully lldb exist
command -v $GDB >/dev/null 2>&1 || export GDB="lldb"
+
+[ $1 = "img" ] && img=1 && shift
+# http://iterm2.com/documentation-images.html
+osc="\033]"
+if [[ $TERM == screen* ]]; then osc="\033Ptmux;\033\033]"; fi
+st="\a"
+if [[ $TERM == screen* ]]; then st="\a"; fi
+
+
+tmp=$(mktemp)
[ -f 'build/build.ninja' ] && CMAKENINJA=TRUE
# or "fswatch -0 . -e build/ -e .git"
find src/ | entr printf '\0' | while read -d ""; do
@@ -25,19 +39,29 @@ find src/ | entr printf '\0' | while read -d ""; do
if [[ $CMAKENINJA ]]; then
ninja -Cbuild hb-shape hb-view && {
build/hb-shape $@
- build/hb-view $@
+ if [ $img ]; then
+ build/hb-view $@ -O png -o $tmp
+ printf "\n${osc}1337;File=;inline=1:`cat $tmp | base64`${st}\n"
+ else
+ build/hb-view $@
+ fi
}
else
make -Cbuild/src -j5 -s lib && {
build/util/hb-shape $@
- build/util/hb-view $@
+ if [ $img ]; then
+ build/util/hb-view $@ -O png -o $tmp
+ printf "\n${osc}1337;File=;inline=1:`cat $tmp | base64`${st}\n"
+ else
+ build/util/hb-view $@
+ fi
}
fi
done
-read -n 1 -p "[T]est, [D]ebug, [R]estart, [Q]uit? " answer
+read -n 1 -p "[C]heck, [D]ebug, [R]estart, [Q]uit? " answer
case "$answer" in
-t|T )
+c|C )
if [[ $CMAKENINJA ]]; then
CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=5 ninja -Cbuild test
else
More information about the HarfBuzz
mailing list