Commit 8a10647
Eric Bower
·
2026-06-16 08:53:11 -0400 EDT
parent ea261ad
feat(yash): osc7 tracking
1 files changed,
+19,
-2
+19,
-2
1@@ -113,6 +113,21 @@ if [ "$_tsl" ] && [ "$_fsl" ]; then
2 }
3 fi
4
5+_osc7_cwd() {
6+ local tmp="${PWD}" encoded="" cut c esc
7+ esc="$(printf '\33')" # or: esc="$(/usr/bin/printf '\033')"
8+ while [ -n "$tmp" ]; do
9+ cut="${tmp#?}"
10+ c="${tmp%"$cut"}"
11+ case "$c" in
12+ [-/:_.!\'\(\)~[:alnum:]]) encoded="$encoded$c" ;;
13+ *) encoded="$encoded$(printf '%%%02X' "'$c")" ;;
14+ esac
15+ tmp="$cut"
16+ done
17+ printf '%s]7;file://%s%s%s\\' "$esc" "${HOSTNAME:-$(uname -n)}" "$encoded" "$esc" > /dev/tty
18+}
19+
20 _update_direnv() {
21 if ! command -v direnv > /dev/null 2>&1; then
22 return
23@@ -128,7 +143,9 @@ _update_direnv() {
24 end'
25 )"
26 }
27-_update_direnv
28-YASH_AFTER_CD=("$YASH_AFTER_CD" '_update_direnv')
29+
30+YASH_AFTER_CD=("$YASH_AFTER_CD" _osc7_cwd _update_direnv)
31+_osc7_cwd
32+_update_direnv > /dev/null 2>&1
33
34 # kak: filetype=sh