diff --git a/zsh/.zshrc b/zsh/.zshrc index 58d2cd0..5378f7a 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -57,20 +57,43 @@ alias czh="echo 'Fully clearing history, then exiting...' && cat /dev/null > ${H # Completion _comp_options+=(globdots) # include hidden files -# reload the zsh session. From OMZ:plugins/zsh_reload +# reload the zsh session. Changed from OMZ:plugins/zsh_reload zreload() { - local cache="$ZSH_CACHE_DIR" - autoload -U compinit zrecompile - compinit -i -d "$cache/zcomp-$HOST" - - for f in ${ZDOTDIR:-~}/.zshrc "$cache/zcomp-$HOST"; do - zrecompile -p $f && command rm -f $f.zwc.old - done - # Use $SHELL if available; remove leading dash if login shell [[ -n "$SHELL" ]] && exec ${SHELL#-} || exec zsh } +# Emacs/ vterm +vterm_printf(){ + if [ -n "$TMUX" ] && ([ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ] ); then + # Tell tmux to pass the escape sequences through + printf "\ePtmux;\e\e]%s\007\e\\" "$1" + elif [ "${TERM%%-*}" = "screen" ]; then + # GNU screen (screen, screen-256color, screen-256color-bce) + printf "\eP\e]%s\007\e\\" "$1" + else + printf "\e]%s\e\\" "$1" + fi +} + +if [[ "$INSIDE_EMACS" = 'vterm' ]]; then + alias clear='vterm_printf "51;Evterm-clear-scrollback";tput clear' +fi + +vterm_cmd() { + local vterm_elisp + vterm_elisp="" + while [ $# -gt 0 ]; do + vterm_elisp="$vterm_elisp""$(printf '"%s" ' "$(printf "%s" "$1" | sed -e 's|\\|\\\\|g' -e 's|"|\\"|g')")" + shift + done + vterm_printf "51;E$vterm_elisp" +} + +find_file() { + vterm_cmd find-file "$(realpath "${@:-.}")" +} + # PLUGINS! # `miniplug update`