Personalizar el post de CSH para el repository de Git

Quiero tener un aviso de CSH personalizado cuando estoy dentro de un repository de Git. Quiero que el post se vea así si no estoy en un repository git

host_name>$ 

Pero cuando estoy dentro, un repo de Git debe convertirse en algo como esto

 host_name [GIT REPO ROOT DIR]>$ 

Solo quiero mostrar la raíz del repository de Git (GIT REPO ROOT DIR), para que sepa en qué repository estoy actualmente. En lugar de usar 'pwd' cada vez.

¿Tienen alguna sugerencia para lograr esto? Gracias por la ayuda

-Anish

Así es como lo hice para tcsh. Coloque este script en su path en algún lugar; llámalo cgb:

 #!/bin/bash git branch 2> /dev/null | grep '^*' | awk '{ print $2; }' 

En tu .tcshrc,

 alias precmd 'set cgb=`cgb`' set prompt='...your-prompt-string... (%$cgb) % ' 

precmd se ejecuta antes de cada aviso. Si solo desea que se ejecute antes de cambiar directorys, use alias cwdcmd en su lugar. Prefiero precmd, ya que se ejecutará al hacer un pago por git, por ejemplo.

Sigo siendo un usuario de tcsh acérrimo, pero finalmente me rendí ante el csh en bruto y cambié a tcsh por muchas razones, incluida la terrible compatibilidad de csh con este tipo de cosas. (Y eventualmente puedo ceder y cambiar a bash, incluso. :-)) Aún así, es posible hacerlo, como lo señaló @KeithThompson, a través de alias:

 alias cd 'chdir \!:* && update_prompt' alias update_prompt 'set prompt="...stuff here... "' 

donde "… cosas aquí …" puede include el uso de comillas inversas para ejecutar algo, como un script para generar la parte [GIT REPO ROOT DIR] . (¡Escribe el guión en algo que no sea csh!)

Tenga en count que, mientras aliased cd to chdir ... puede usar el command en el alias, que necesitará con pushd y popd .

    Intereting Posts