# zshrc/40_tempfuncs # # Helper functions to create temporary files and directories # # Copyright © 1994–2017 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # # Source repository: http://git.madduck.net/v/etc/zsh.git # cdt () { local tmpdir tmpdir=$(mktemp -td ${1:-cdt}.XXXXXX) builtin cd $tmpdir pwd rm -f ${TMPDIR:-/tmp}/cdt.latest ln -s $tmpdir ${TMPDIR:-/tmp}/cdt.latest } vit () { local prefix for i in "$@"; do case "$i" in -) local stdin=1; shift;; *) if [ -z "${prefix:-}" ]; then prefix="$i"; shift else error "prefix already specified: $prefix" return 1 fi ;; esac done local tmpfile=$(mktemp -t ${prefix:-vit}.XXXXXX) [ -n "$stdin" ] && cat >| $tmpfile sensible-editor $tmpfile /dev/tty echo $tmpfile ln -sf $tmpfile ${TMPDIR:-/tmp}/vit.latest } # vim:ft=zsh