Configurando o Bash Profile para mostrar o branch, venv e pastas – Eduardo Cuducos

cuducos

Como passo horas e horas programando, acabo passando também horas e horas interagindo com o terminal do meu Linux ou do meu Mac OS X. Resolvi brincar com meu .bash_profile para fazer a própria interface do terminal ser mais informativa.

O .bash_profile é um arquivo que fica na raíz do usuário (por exemplo /home/fulano/ no Linux, ou /Users/fulano/ no Mac). Para colcar de forma simples, esse arquivo personaliza a forma como o usuário interage com o terminal definindo variáveis, atalhos e até mesmo aquela linha que aparece na frente de cada comando que digitamos (o prompt).

Enfim, depois da minha brincadeira com o .bash_profile, eis o resultado:

fulano@localhost ~ $
fulano@localhost ~ $ cd ~/meu-projeto/
fulano@localhost ~/meu-projeto (master:clean) $ workon findaconf
fulano@localhost ~/meu-projeto (master:clean) $ git checkout -b nova-branch
fulano@localhost ~/meu-projeto (meu-projeto:nova-branch:clean) $ touch teste.py
fulano@localhost ~/findaconf (meu-projeto:nova-branch:pending) $ unlink teste.py
fulano@localhost ~/findaconf (meu-projeto:nova-branch:clean) $ deactivate
fulano@localhost ~/findaconf (nova-branch:clean) $ cd ~
fulano@localhost ~ $

Vamos por partes:

1. Começo no meu diretório de usuário, o prompt está normal.
1. Se entro num diretório que é um repositório Git, no prompt aparece o nome da branch em que estou e o status (pending se tenho que dar commit em alterações, ou clean caso não tenha nenhum commit pendente).
1. Se ativo um virtualenv (no exemplo uso o virtualenvwrapper), o prompt mostra o nome do virtualenv antes do nome da branch.
1. Se mudo alguma coisa no repositório, o status muda para pending.
1. Se mudo de branch, nome da branch no prompt é atualizado.
1. E se saio do diretório ou desativo o virtualenv, vou limpando o prompt.

O padrão sempre é um desses:

(nome do virtualenv : nome da branch no git : status do git) com virtualenv ativo em diretório/repositório Git
( nome da branch no git : status do git) em diretório/repositório Git (mas sem virtualenv ativo)
( nome do virtualenv ) com virtualenv ativo (mas fora de diretório/repositório Git)
Ou um prompt normal sem virtualenv ativo e fora de diretorio/repositório Git

Talvez esse código seja útil a mais alguém, então compartilho aqui essa parte do meu .bash_profile (ou podem ver no meu Gist, com mais algumas pitadas de personalização):


Eduardo Cuducoshttp://about.me/cuducos

4 comentários em “Configurando o Bash Profile para mostrar o branch, venv e pastas – Eduardo Cuducos

Deixe uma resposta

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