1
0
Fork 0
mirror of https://gitlab.com/mlunax/dotfiles.git synced 2025-04-18 16:26:50 +00:00
dotfiles/.zsh/mise.zsh
2024-06-04 10:28:12 +02:00

55 lines
1.4 KiB
Bash

export MISE_SHELL=zsh
export __MISE_ORIG_PATH="$PATH"
MISE_BIN_PATH=$(whereis mise | cut -d ':' -f2 | xargs)
if iscmd mise; then
mise() {
local command
command="${1:-}"
if [ "$#" = 0 ]; then
command $MISE_BIN_PATH
return
fi
shift
case "$command" in
deactivate|s|shell)
# if argv doesn't contains -h,--help
if [[ ! " $@ " =~ " --help " ]] && [[ ! " $@ " =~ " -h " ]]; then
eval "$(command $MISE_BIN_PATH "$command" "$@")"
return $?
fi
;;
esac
command $MISE_BIN_PATH "$command" "$@"
}
_mise_hook() {
eval "$($MISE_BIN_PATH hook-env -s zsh)";
}
typeset -ag precmd_functions;
if [[ -z "${precmd_functions[(r)_mise_hook]+1}" ]]; then
precmd_functions=( _mise_hook ${precmd_functions[@]} )
fi
typeset -ag chpwd_functions;
if [[ -z "${chpwd_functions[(r)_mise_hook]+1}" ]]; then
chpwd_functions=( _mise_hook ${chpwd_functions[@]} )
fi
if [ -z "${_mise_cmd_not_found:-}" ]; then
_mise_cmd_not_found=1
[ -n "$(declare -f command_not_found_handler)" ] && eval "${$(declare -f command_not_found_handler)/command_not_found_handler/_command_not_found_handler}"
function command_not_found_handler() {
if $MISE_BIN_PATH hook-not-found -s zsh -- "$1"; then
_mise_hook
"$@"
elif [ -n "$(declare -f _command_not_found_handler)" ]; then
_command_not_found_handler "$@"
else
echo "zsh: command not found: $1" >&2
return 127
fi
}
fi
fi