[dev-run] show images using iTerm2 images feature
This commit is contained in:
parent
28c4245e9f
commit
6c844ae8e8
|
@ -9,14 +9,28 @@
|
||||||
# $ cmake -DHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild
|
# $ cmake -DHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild
|
||||||
# $ src/dev-run.sh [FONT-FILE] [TEXT]
|
# $ 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
|
[ $# = 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; }
|
command -v entr >/dev/null 2>&1 || { echo >&2 "This script needs `entr` be installed"; exit 1; }
|
||||||
|
|
||||||
|
|
||||||
GDB=gdb
|
GDB=gdb
|
||||||
# if gdb doesn't exist, hopefully lldb exist
|
# if gdb doesn't exist, hopefully lldb exist
|
||||||
command -v $GDB >/dev/null 2>&1 || export GDB="lldb"
|
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
|
[ -f 'build/build.ninja' ] && CMAKENINJA=TRUE
|
||||||
# or "fswatch -0 . -e build/ -e .git"
|
# or "fswatch -0 . -e build/ -e .git"
|
||||||
find src/ | entr printf '\0' | while read -d ""; do
|
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
|
if [[ $CMAKENINJA ]]; then
|
||||||
ninja -Cbuild hb-shape hb-view && {
|
ninja -Cbuild hb-shape hb-view && {
|
||||||
build/hb-shape $@
|
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
|
else
|
||||||
make -Cbuild/src -j5 -s lib && {
|
make -Cbuild/src -j5 -s lib && {
|
||||||
build/util/hb-shape $@
|
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
|
fi
|
||||||
done
|
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
|
case "$answer" in
|
||||||
t|T )
|
c|C )
|
||||||
if [[ $CMAKENINJA ]]; then
|
if [[ $CMAKENINJA ]]; then
|
||||||
CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=5 ninja -Cbuild test
|
CTEST_OUTPUT_ON_FAILURE=1 CTEST_PARALLEL_LEVEL=5 ninja -Cbuild test
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue