2012-09-05 14 views
5

Gram z plikiem .profile w moim katalogu domowym, aby wyświetlić gałąź git w monicie, a także pokazać gemm rvm i python virtual env Im obecnie ... wszystko działa dobrze, problem, który mam, polega na tym, że aby pokazać gałąź w innym kolorze, w zależności od stanu gałęzi, muszę za każdym razem wykonać source ~/.profile, także muszę to zrobić w Aby wyświetlić python virtualenv w języku CYAN.Git od systemu Mac OSX świadomy

To musi być sposób lub coś, czego Im brakuje, więc nie muszę uruchamiać source ~/.profile za każdym razem, gdy wchodzę do innego folderu, tak aby kolor gałęzi był oparty na statusie.

Herezje mój .profile

https://gist.github.com/3628788

Dzięki za pomoc zastanawianie to!

Odpowiedz

6

Użyj zmiennej PROMPT_COMMAND, aby zdefiniować funkcję, która ustawia twój PS1 po każdym poleceniu. Umieścić to na dole pliku .profile zamiast przypisania do PS1:

prompt_cmd() { 
    PS1="${PYTHON_VIRTUALENV}$PURPLE\$(set_rvm_prompt)$NO_COLOUR\[email protected]\h:[\W]${B_STATE}\$(parse_git_branch)$NO_COLOUR\$ " 
} 

PROMPT_COMMAND=prompt_cmd 

Teraz, tuż przed wyświetleniem swój wiersz, bash wykona funkcję prompt_cmd aktualizowanie PS1 do najnowszych informacji według PYTHON_VIRTUALENV , set_rvm_prompt() i parse_git_branch().

+0

Musiałem dodać set_rvm_prompt i parse_git_branch do prompt_cmd, a teraz działa jak urok! ... Oto zaktualizowany plik https://gist.github.com/3354613 – maumercado