ZSH: Prompt colorido dinamicamente

No zsh existe uma função built-in chamada ‘precmd’ que sempre executa uma ação antes de exibir o prompt para o usuário, e uma forma de uso bem interessante para ela é a seguinte:

function precmd {
   PROMPT=$(print -Pn "%n > [%~] :" | perl -e 'print("%{e[" => int(rand(7)) + 31 => ";1m%}" => $i) while (read(STDIN, $i, 1)); print("%{e[0m%} ");')
}

Desta forma a precmd altera dinamicamente o conteúdo da variável PROMPT imprimindo na tela cada caractere com cores diferentes conforme a figura a seguir:


Para usá-la, basta adicionar a função em seu .zshrc e pronto!

Tá certo que a parada é meio “flu-flu” e tal… mas pelo menos o que o código faz é bem legal! :headbang:

PS. Neste link há uma versão que utiliza somente comandos internos do próprio zsh.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s