[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