1
0
Fork 0

zsh: switch to uv

This commit is contained in:
Luca Bilke 2025-04-14 15:23:14 +02:00
parent 48ad03b1f6
commit bb80242e75
Signed by: luca
GPG key ID: F6E11C9BAA7C82F5
2 changed files with 2 additions and 41 deletions
common/.config/zsh/config

View file

@ -26,9 +26,9 @@ function zsnippet() {
# NOTE: prompt
zload romkatv/powerlevel10k
# NOTE: virtualenv wrapper
# NOTE: virtualenv activation
turbo
zsnippet https://raw.githubusercontent.com/python-virtualenvwrapper/virtualenvwrapper/refs/heads/main/virtualenvwrapper.sh
zload matthiasha/zsh-uv-env
# NOTE: notify on long running commands
turbo

View file

@ -2,11 +2,6 @@ autoload -Uz add-zsh-hook
autoload -Uz colors && colors
autoload -Uz edit-command-line && zle -N edit-command-line
# function venv_prompt() {
# [[ -n ${VIRTUAL_ENV} ]] || return
# echo -e "%F{yellow}%f ${VIRTUAL_ENV:t:gs/%/%%}"
# }
function reset_prompt() {
for f in chpwd "${chpwd_functions[@]}" precmd "${(@)precmd_functions:#-z4h-direnv-hook}"; do
[[ "${+functions[$f]}" == 0 ]] || "$f" &>/dev/null || true
@ -102,38 +97,4 @@ function lazygit-wrap() {
}
zle -N lazygit-wrap
function workon_cwd() {
local PROJECT_ROOT="${PWD}"
while [ "$PROJECT_ROOT" != "/" ] && [ ! -e "$PROJECT_ROOT/.venv" ] && [ ! -d "$PROJECT_ROOT/.git" ]; do
local PROJECT_ROOT="$(dirname "$PROJECT_ROOT")"
done
if [ -r "$PROJECT_ROOT/.venv" ]; then
local ENV_NAME="$(cat $PROJECT_ROOT/.venv)"
else
local ENV_NAME="$(basename "$PROJECT_ROOT")"
fi
[ -n "$CD_VIRTUAL_ENV" ] && [ "$ENV_NAME" != "$CD_VIRTUAL_ENV" ] && {
[ -n "$VIRTUAL_ENV" ] && deactivate
unset CD_VIRTUAL_ENV
}
[ -n "$ENV_NAME" ] && [ ! "$(realpath "$VIRTUAL_ENV" 2>/dev/null)" = "$(realpath "$WORKON_HOME/$ENV_NAME")" ] && {
if [ -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]; then
workon -n "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME"
elif [ -e "$ENV_NAME/bin/activate" ]; then
source "$ENV_NAME/bin/activate" && export CD_VIRTUAL_ENV="$ENV_NAME"
else
local ENV_NAME=""
fi
}
[ -z "$ENV_NAME" ] && [ -n "$CD_VIRTUAL_ENV" ] && [ -n "$VIRTUAL_ENV" ] && {
deactivate && unset CD_VIRTUAL_ENV
}
}
add-zsh-hook chpwd workon_cwd
command -v direnv &>/dev/null && emulate zsh -c "$(direnv hook zsh)"