set -gx TMPUTILS_DIR ~/data/tmp set -gx TMPUTILS_TMPFILE ~/.tmpfile function tmpdir set -l name $argv[1] set -l dir "$TMPUTILS_DIR/$name" if not test -d $dir mkdir -p $dir end cd $dir end function tmpnew set -l name $argv[1] tmpdir $argv tmux::attach $name end function tmpls if not test -d $TMPUTILS_DIR return end ls $TMPUTILS_DIR end function tmptee set -l name $argv[1] if test -z "$name" set name (date +%s) else set -e argv[1] end set -l file "$TMPUTILS_DIR/$name" if not test -d $TMPUTILS_DIR mkdir -p $TMPUTILS_DIR end tee $argv $file echo $file >$TMPUTILS_TMPFILE end function tmpcat set -l name $argv[1] if test -z "$name" cat (tmpfile) return end cat "$TMPUTILS_DIR/$name" end function tmpedit set -l name $argv[1] if test -z "$name" $EDITOR (tmpfile) return end $EDITOR "$TMPUTILS_DIR/$name" end function tmpgrep set -l name $argv[1] set -e argv[1] tmcpat $name | grep $argv end function tmpfile cat $TMPUTILS_TMPFILE end function tmpmove set -l name (basename (pwd)) set -l src (pwd) set -l dest ~/Notes/tmp/$name if test "$src" != "$TMPUTILS_DIR/$name" echo "tmpmove: not inside a tmp directory ($TMPUTILS_DIR/)" return 1 end mkdir -p ~/Notes/tmp mv $src $dest cd $dest echo "Moved $src -> $dest" end abbr -a cdtmp "cd $TMPUTILS_DIR" abbr -a tmpn tmpnew abbr -a temp tmpnew abbr -a tmp tmpnew