Я использую GRC/grcat раскрасить мой выход терминала с помощью этой функции:Использование Баш функции + GRC как псевдоним нарушает ЗШ завершение
function docker() {
case $* in
ps*) shift 1; command docker ps "[email protected]" | grcat $HOME/.grc/conf.dockerps ;;
images*) shift 1; command docker images "[email protected]" | grcat $HOME/.grc/conf.dockerimages ;;
info*) shift 1; command docker info "[email protected]" | grcat $HOME/.grc/conf.dockerinfo ;;
*) command docker "[email protected]" ;;
esac
}
но это ломает мои ЗШ доработок и плагинов, что я могу настроить используя о-мой-ЗШ в моем .zshrc с этим:
plugins=(git colored-man-pages colorize vagrant brew ruby docker)
plugins+=(gradle rvm rails bundler gem osx pod)
plugins+=(bower cp go node npm)
plugins+=(zsh-syntax-highlighting encode64)
plugins+=(zsh-completions mvn)
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
Когда я пытаюсь использовать docker stop
, например, завершение приходит с управляющими последовательностями ANSI: $'\033'\[0m$'\033'\[1m$'\033'\[33mhigh_wright$'\033'\[0m
есть ли способ избежать этого и фильтровать эти escape-последовательности только для завершений?
EDIT
Я нашел этот файл в моем .oh-мой-ЗШ реж для Docker плагина: https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/docker/_docker
Я понимаю, что мне нужно изменить эту функцию, но я не знаю, как ,
__docker_containers() {
declare -a cont_cmd
cont_cmd=($(docker ps | awk 'NR>1{print $NF":[CON("$1")"$2"("$3")]"}'))
if [[ 'X$cont_cmd' != 'X' ]]
_describe 'containers' cont_cmd
}