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