From 977f50d85863d950d79980d39c1316e41f41f608 Mon Sep 17 00:00:00 2001 From: Luna Komorebi Date: Tue, 4 Jun 2024 10:28:12 +0200 Subject: [PATCH] migrate to mise --- .zsh/mise.zsh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ .zsh/rtx.zsh | 36 --------------------------------- 2 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 .zsh/mise.zsh delete mode 100644 .zsh/rtx.zsh diff --git a/.zsh/mise.zsh b/.zsh/mise.zsh new file mode 100644 index 0000000..49dfde3 --- /dev/null +++ b/.zsh/mise.zsh @@ -0,0 +1,55 @@ +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 diff --git a/.zsh/rtx.zsh b/.zsh/rtx.zsh deleted file mode 100644 index b380bf2..0000000 --- a/.zsh/rtx.zsh +++ /dev/null @@ -1,36 +0,0 @@ -export RTX_SHELL=zsh -RTX_BIN_PATH=$(whereis rtx | cut -d ':' -f2 | xargs) -if iscmd rtx; then - rtx() { - local command - command="${1:-}" - if [ "$#" = 0 ]; then - command $RTX_BIN_PATH - return - fi - shift - - case "$command" in - deactivate|shell) - eval "$($RTX_BIN_PATH "$command" "$@")" - ;; - *) - command $RTX_BIN_PATH "$command" "$@" - ;; - esac - } - - _rtx_hook() { - trap -- '' SIGINT; - eval "$("$RTX_BIN_PATH" hook-env -s zsh)"; - trap - SIGINT; - } - typeset -ag precmd_functions; - if [[ -z "${precmd_functions[(r)_rtx_hook]+1}" ]]; then - precmd_functions=( _rtx_hook ${precmd_functions[@]} ) - fi - typeset -ag chpwd_functions; - if [[ -z "${chpwd_functions[(r)_rtx_hook]+1}" ]]; then - chpwd_functions=( _rtx_hook ${chpwd_functions[@]} ) - fi -fi