@@ -103,18 +103,18 @@ fi [ "$ls_on_cd" = yes ] && chpwd() { ls } [ "$ls_on_init" = yes ] && ls case $TERM_PROGRAM in - Apple_Terminal) - __update_terminal_cwd() { - printf '\e]7;%s\a' "file://$HOSTNAME${PWD// /%20}" - } - ;; - *) - __update_terminal_cwd() {} - ;; +Apple_Terminal) + __update_terminal_cwd() { + printf '\e]7;%s\a' "file://$HOSTNAME${PWD// /%20}" + } + ;; +*) + __update_terminal_cwd() {} + ;; esac set_prompt() { if [ -n "$1" ]; then local branch="%F{$color_vcs_braces}(%F{$color_vcs}$1" @@ -146,72 +146,72 @@ set_prompt $branch } case $TERM in - aterm|Eterm|rxvt*|uxterm*|xterm*) - # Use set_title if you want to change the term title - set_title() { - # Without this, precmd would override it - precmd() { __precmd } - print -Pn "\e]0;$@\a" - } - - unset_title() { - precmd() { - print -Pn "\e]0;%c · %m\a" - __precmd - } - } - unset_title - ;; - *) - precmd() { __precmd } - ;; +aterm|Eterm|rxvt*|uxterm*|xterm*) + # Use set_title if you want to change the term title + set_title() { + # Without this, precmd would override it + precmd() { __precmd } + print -Pn "\e]0;$@\a" + } + + unset_title() { + precmd() { + print -Pn "\e]0;%c · %m\a" + __precmd + } + } + unset_title + ;; +*) + precmd() { __precmd } + ;; esac extr() { for i in $@; do case $i in - *.7z) - 7za x $i - ;; - *.lha) - ofarc -x $i - ;; - *.tar) - ofarc -x $i - ;; - *.tbz | *.tbz2 | *.tar.bz2) - bzcat $i | ofarc -ttar -x - - ;; - *.tgz | *.tar.gz) - ofarc -x $i - ;; - *.txz | *.tar.xz) - xzcat $i | ofarc -ttar -x - - ;; - *.rar) - unrar x $i - ;; - *.zip) - ofarc -x $i - ;; - # These have to be the last for obvious reasons - *.bz2) - bunzip2 $i - ;; - *.gz) - ofarc -x $i - ;; - *.xz) - unxz $i - ;; - *) - echo "$i: Unknown file type" - false - ;; + *.7z) + 7za x $i + ;; + *.lha) + ofarc -x $i + ;; + *.tar) + ofarc -x $i + ;; + *.tbz | *.tbz2 | *.tar.bz2) + bzcat $i | ofarc -ttar -x - + ;; + *.tgz | *.tar.gz) + ofarc -x $i + ;; + *.txz | *.tar.xz) + xzcat $i | ofarc -ttar -x - + ;; + *.rar) + unrar x $i + ;; + *.zip) + ofarc -x $i + ;; + # These have to be the last for obvious reasons + *.bz2) + bunzip2 $i + ;; + *.gz) + ofarc -x $i + ;; + *.xz) + unxz $i + ;; + *) + echo "$i: Unknown file type" + false + ;; esac done } for ext in 7z lha tar tbz tbz2 tar.bz2 tgz tar.gz txz tar.xz rar zip bz2 gz xz do @@ -227,17 +227,17 @@ export MAKEFLAGS="-j$(($(nproc) * 2))" fi make() { case "$PWD" in - # pkgsrc needs bmake and does not like MAKEFLAGS including -j. - */pkgsrc*) - MAKEFLAGS= =$(__find_command bmake make) $@ - ;; - *) - =make $@ - ;; + # pkgsrc needs bmake and does not like MAKEFLAGS including -j. + */pkgsrc*) + MAKEFLAGS= =$(__find_command bmake make) $@ + ;; + *) + =make $@ + ;; esac } __has_command tmux && alias tmux="tmux -f $XDG_CONFIG_HOME/tmux/tmux.conf" @@ -415,167 +415,165 @@ 1>&2 return 1 fi case "$1" in - 3ds | nds) - if [ -z "$DEVKITPRO" ]; then - echo "Please set DEVKITPRO!" 1>&2 - return 1 - fi - if [ -z "$DEVKITARM" ]; then - echo "Please set DEVKITARM!" 1>&2 - return 1 - fi - - export PATH="$DEVKITARM/bin:$PATH" - export cross_host="arm-none-eabi" - export objfw_configure_flags="--with-$1" - ;; - amiga) - case "$2" in - m68k) - if [ -z "$amiga_gcc_path" ]; then - echo -n "Please set " 1>&2 - echo "amiga_gcc_path!" 1>&2 - return 1 - fi - - export PATH="$amiga_gcc_path/bin:$PATH" - export cross_host="m68k-amigaos" - ;; - ppc) - if [ -z "$adtools_path" ]; then - echo -n "Please set " 1>&2 - echo "adtools_path!" 1>&2 - return 1 - fi - - export PATH="$adtools_path/bin:$PATH" - export cross_host="ppc-amigaos" - ;; - esac - - if [ $# != 2 -o -z "$cross_host" ]; then - echo "Usage: cross amiga m68k|ppc" 1>&2 - return 1 - fi - ;; - ios | iossim) - if ! __has_command xcrun; then - echo -n "Can only cross-compile for iOS " 1>&2 - echo "on a Mac with Xcode!" 1>&2 - return 1 - fi - - case "$1" in - ios) - local sdk_type=iphoneos - local default_archs="arm64" - ;; - iossim) - local sdk_type=iphonesimulator - local default_archs="x86_64" - ;; - esac - - local sdk="$(xcrun --show-sdk-path --sdk $sdk_type)" - local archs="${@:2}" - - if [ ${(w)#archs} = 0 ]; then - archs="$default_archs" - fi - - export CC="clang -isysroot $sdk" - export CPP="clang -E -isysroot $sdk" - export CXX="clang++ -isysroot $sdk" - export CXXPP="clang++ -E -isysroot $sdk" - - for arch in $=archs; do - export CC="$CC -arch $arch" - export CXX="$CXX -arch $arch" - done - export CPP="$CPP -arch $archs[(w)1]" - export CXXPP="$CXXPP -arch $archs[(w)1]" - - export OBJC="$CC" - export OBJCPP="$CPP" - export OBJCXX="$CXX" - export OBJCPPXX="$CXXPP" - export IPHONEOS_DEPLOYMENT_TARGET="10.0" - export cross_host="$archs[(w)1]-apple-darwin" - ;; - mingw) - case "$2" in - i686 | x86_64) - local pkg="mingw-w64-$2-gcc" - export cross_host="$2-w64-mingw32" - ;; - esac - - if [ $# != 2 -o -z "$cross_host" ]; then - echo "Usage: cross mingw i686|x86_64" 1>&2 - return 1 - fi - - local prefix="$(pkg_info -qp $pkg 2>/dev/null | - awk '/^@cwd/ { print $2; exit }')" - if [ -z "$prefix" ]; then - echo "Please install $pkg from pkgsrc!" 1>&2 - return 1 - fi - - export PATH="$prefix/cross/$cross_host/bin:$PATH" - ;; - morphos) - local pkg="ppc-morphos-gcc-11" - local prefix="$(pkg_info -qp $pkg 2>/dev/null | - awk '/^@cwd/ { print $2; exit }')" - if [ -z "$prefix" ]; then - echo "Please install $pkg from pkgsrc!" 1>&2 - return 1 - fi - - export PATH="$prefix/gg/bin:$PATH" - export CC="ppc-morphos-gcc-11" - export CXX="ppc-morphos-g++-11" - export OBJC="$CC" - export OBJCXX="$CXX" - export cross_host="ppc-morphos" - ;; - switch) - if [ -z "$DEVKITPRO" ]; then - echo "Please set DEVKITPRO!" - return 1 - fi - if [ -z $"DEVKITA64" ]; then - echo "Please set DEVKITA64!" - return 1 - fi - - export PATH="$DEVKITA64/bin:$PATH" - export cross_host="aarch64-none-elf" - export objfw_configure_flags="--with-$1" - ;; - wii | wii-u) - if [ -z "$DEVKITPRO" ]; then - echo "Please set DEVKITPRO!" - return 1 - fi - if [ -z "$DEVKITPPC" ]; then - echo "Please set DEVKITPPC!" - return 1 - fi - - export PATH="$DEVKITPPC/bin:$DEVKITPRO/tools/bin:$PATH" - export cross_host="powerpc-eabi" - export objfw_configure_flags="--with-$1" - ;; - *) - echo "Unknown target: $1" 1>&2 - return 1 - ;; + 3ds | nds) + if [ -z "$DEVKITPRO" ]; then + echo "Please set DEVKITPRO!" 1>&2 + return 1 + fi + if [ -z "$DEVKITARM" ]; then + echo "Please set DEVKITARM!" 1>&2 + return 1 + fi + + export PATH="$DEVKITARM/bin:$PATH" + export cross_host="arm-none-eabi" + export objfw_configure_flags="--with-$1" + ;; + amiga) + case "$2" in + m68k) + if [ -z "$amiga_gcc_path" ]; then + echo -n "Please set amiga_gcc_path!" 1>&2 + return 1 + fi + + export PATH="$amiga_gcc_path/bin:$PATH" + export cross_host="m68k-amigaos" + ;; + ppc) + if [ -z "$adtools_path" ]; then + echo -n "Please set adtools_path!" 1>&2 + return 1 + fi + + export PATH="$adtools_path/bin:$PATH" + export cross_host="ppc-amigaos" + ;; + esac + + if [ $# != 2 -o -z "$cross_host" ]; then + echo "Usage: cross amiga m68k|ppc" 1>&2 + return 1 + fi + ;; + ios | iossim) + if ! __has_command xcrun; then + echo -n "Can only cross-compile for iOS " 1>&2 + echo "on a Mac with Xcode!" 1>&2 + return 1 + fi + + case "$1" in + ios) + local sdk_type=iphoneos + local default_archs="arm64" + ;; + iossim) + local sdk_type=iphonesimulator + local default_archs="x86_64" + ;; + esac + + local sdk="$(xcrun --show-sdk-path --sdk $sdk_type)" + local archs="${@:2}" + + if [ ${(w)#archs} = 0 ]; then + archs="$default_archs" + fi + + export CC="clang -isysroot $sdk" + export CPP="clang -E -isysroot $sdk" + export CXX="clang++ -isysroot $sdk" + export CXXPP="clang++ -E -isysroot $sdk" + + for arch in $=archs; do + export CC="$CC -arch $arch" + export CXX="$CXX -arch $arch" + done + export CPP="$CPP -arch $archs[(w)1]" + export CXXPP="$CXXPP -arch $archs[(w)1]" + + export OBJC="$CC" + export OBJCPP="$CPP" + export OBJCXX="$CXX" + export OBJCPPXX="$CXXPP" + export IPHONEOS_DEPLOYMENT_TARGET="10.0" + export cross_host="$archs[(w)1]-apple-darwin" + ;; + mingw) + case "$2" in + i686 | x86_64) + local pkg="mingw-w64-$2-gcc" + export cross_host="$2-w64-mingw32" + ;; + esac + + if [ $# != 2 -o -z "$cross_host" ]; then + echo "Usage: cross mingw i686|x86_64" 1>&2 + return 1 + fi + + local prefix="$(pkg_info -qp $pkg 2>/dev/null | + awk '/^@cwd/ { print $2; exit }')" + if [ -z "$prefix" ]; then + echo "Please install $pkg from pkgsrc!" 1>&2 + return 1 + fi + + export PATH="$prefix/cross/$cross_host/bin:$PATH" + ;; + morphos) + local pkg="ppc-morphos-gcc-11" + local prefix="$(pkg_info -qp $pkg 2>/dev/null | + awk '/^@cwd/ { print $2; exit }')" + if [ -z "$prefix" ]; then + echo "Please install $pkg from pkgsrc!" 1>&2 + return 1 + fi + + export PATH="$prefix/gg/bin:$PATH" + export CC="ppc-morphos-gcc-11" + export CXX="ppc-morphos-g++-11" + export OBJC="$CC" + export OBJCXX="$CXX" + export cross_host="ppc-morphos" + ;; + switch) + if [ -z "$DEVKITPRO" ]; then + echo "Please set DEVKITPRO!" + return 1 + fi + if [ -z $"DEVKITA64" ]; then + echo "Please set DEVKITA64!" + return 1 + fi + + export PATH="$DEVKITA64/bin:$PATH" + export cross_host="aarch64-none-elf" + export objfw_configure_flags="--with-$1" + ;; + wii | wii-u) + if [ -z "$DEVKITPRO" ]; then + echo "Please set DEVKITPRO!" + return 1 + fi + if [ -z "$DEVKITPPC" ]; then + echo "Please set DEVKITPPC!" + return 1 + fi + + export PATH="$DEVKITPPC/bin:$DEVKITPRO/tools/bin:$PATH" + export cross_host="powerpc-eabi" + export objfw_configure_flags="--with-$1" + ;; + *) + echo "Unknown target: $1" 1>&2 + return 1 + ;; esac export objfw_configure_flags=( --host=$cross_host $=objfw_configure_flags