mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-21 18:46:06 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62e5024454 | ||
|
|
f68258fdf1 | ||
|
|
f9cba205e1 |
+14
-7
@@ -146,16 +146,23 @@ esac
|
||||
# the host name to disambiguate local vs. remote paths.
|
||||
function omz_termsupport_cwd {
|
||||
setopt localoptions unset
|
||||
# Percent-encode the host and path names.
|
||||
local URL_HOST URL_PATH
|
||||
URL_HOST="$(omz_urlencode -P $HOST)" || return 1
|
||||
URL_PATH="$(omz_urlencode -P $PWD)" || return 1
|
||||
# Percent-encode the host and path names. Encoding forks a subshell each,
|
||||
# so keep the result and only redo it when $HOST or $PWD changed.
|
||||
local cache_key="$HOST:$PWD:${KONSOLE_PROFILE_NAME:+1}:${KONSOLE_DBUS_SESSION:+1}"
|
||||
if [[ "$_omz_termsupport_cwd_key" != "$cache_key" ]]; then
|
||||
local URL_HOST URL_PATH
|
||||
URL_HOST="$(omz_urlencode -P "$HOST")" || return 1
|
||||
URL_PATH="$(omz_urlencode -P "$PWD")" || return 1
|
||||
|
||||
# Konsole errors if the HOST is provided
|
||||
[[ -z "$KONSOLE_PROFILE_NAME" && -z "$KONSOLE_DBUS_SESSION" ]] || URL_HOST=""
|
||||
# Konsole errors if the HOST is provided
|
||||
[[ -z "$KONSOLE_PROFILE_NAME" && -z "$KONSOLE_DBUS_SESSION" ]] || URL_HOST=""
|
||||
|
||||
typeset -g _omz_termsupport_cwd_key="$cache_key"
|
||||
typeset -g _omz_termsupport_cwd_url="file://${URL_HOST}${URL_PATH}"
|
||||
fi
|
||||
|
||||
# common control sequence (OSC 7) to set current host and path
|
||||
printf "\e]7;file://%s%s\e\\" "${URL_HOST}" "${URL_PATH}"
|
||||
printf "\e]7;%s\e\\" "$_omz_termsupport_cwd_url"
|
||||
}
|
||||
|
||||
# Use a precmd hook instead of a chpwd hook to avoid contaminating output
|
||||
|
||||
@@ -1,25 +1,6 @@
|
||||
# Git version checking
|
||||
autoload -Uz is-at-least
|
||||
# Running `git version` forks on every startup, so cache the result for a day
|
||||
# in $ZSH_CACHE_DIR, keyed on the git command path, mtime, and exec path.
|
||||
() {
|
||||
local cache="$ZSH_CACHE_DIR/git-version" key exec_path
|
||||
local -a stat lines
|
||||
zmodload -F zsh/stat b:zstat
|
||||
zstat -A stat +mtime -- "$commands[git]" 2>/dev/null
|
||||
exec_path="$(git --exec-path 2>/dev/null)"
|
||||
key="$commands[git] $stat[1] $exec_path"
|
||||
|
||||
lines=("$cache"(Nm-1))
|
||||
(( $#lines )) && lines=("${(@f)$(<"$cache")}")
|
||||
if [[ "$lines[1]" = "$key" ]]; then
|
||||
git_version="$lines[2]"
|
||||
return
|
||||
fi
|
||||
|
||||
git_version="${${(As: :)$(git version 2>/dev/null)}[3]}"
|
||||
[[ ! -w "$ZSH_CACHE_DIR" ]] || print -rl -- "$key" "$git_version" >| "$cache"
|
||||
}
|
||||
git_version="${${(As: :)$(git version 2>/dev/null)}[3]}"
|
||||
|
||||
#
|
||||
# Functions Current
|
||||
|
||||
Reference in New Issue
Block a user