at master 688 B view raw
1osc7_cwd() { 2 local strlen=${#PWD} 3 local encoded="" 4 local pos c o 5 for (( pos=0; pos<strlen; pos++ )); do 6 c=${PWD:$pos:1} 7 case "$c" in 8 [-/:_.!\'\(\)~[:alnum:]] ) o="${c}" ;; 9 * ) printf -v o '%%%02X' "'${c}" ;; 10 esac 11 encoded+="${o}" 12 done 13 printf '\e]7;file://%s%s\e\\' "${HOSTNAME}" "${encoded}" 14} 15PROMPT_COMMAND=${PROMPT_COMMAND:+${PROMPT_COMMAND%;}; }osc7_cwd 16 17prompt_marker() { 18 printf '\e]133;A\e\\' 19} 20PROMPT_COMMAND=${PROMPT_COMMAND:+${PROMPT_COMMAND%;}; }prompt_marker 21 22PS0+='\e]133;C\e\\' 23 24command_done() { 25 printf '\e]133;D\e\\' 26} 27PROMPT_COMMAND=${PROMPT_COMMAND:+${PROMPT_COMMAND%;}; }command_done