Проблема, с которой я столкнулся, заключалась в сопоставлении пространства имен с env
.
о -мой -zsh цветной -man -страницы использует env
при настройке переменных:
function colored() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[1;31m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
PAGER="${commands[less]:-$PAGER}" \
_NROFF_U=1 \
PATH="$HOME/bin:$PATH" \
"$@"
}
function man() {
colored man "$@"
}
Я также использую другой подключаемый модуль, zpm -zsh/colorize , который маршрутизирует env
черезgrv
(общий колоризатор)через отдельную функцию с именемenv
:
function env () {
=grc --colour=auto env "$@"
}
По какой-то причине grc
делает то, что man
не нравится.
env
по grc
с помощью глобально определенной функции env
не является псевдонимом/функцией, используяcommand
function colored() {
command env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
[....]
}
function man() {
colored man "$@"
}