Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Tiny problem with a prompt



Reply to message «Tiny problem with a prompt», 
sent 16:57:06 31 July 2011, Sunday
by Tomasz Moskal:

Define a `chpwd' function and call your one there. `chpwd' is called whenever 
directory changes, `premcmd' is called just before prompt is shown and thus it 
will reinitialize prompt too much times. Search `man zshmisc' for /Hook/ to get 
more useful hook functions.

Original message:
> I am trying to display current directory in different colour based on if
> it's writeable or not. What I thought will be simple  if...then...else
> task has become a really headache. My (simplistic) code is as follows:
> 
> 
> prompt_k2_setup() {
> 
>     pdir() {
>         if [[ -w $PWD ]]; then
>             dirp='%3F%1/%3f '
>         else
>             dirp='%1F%1/%1f '
>         fi
>     }
> 
>     precmd() { pdir }
> 
>     PS1="${dirp} "
> }
> 
> prompt_k2_setup "$@"
> 
> 
> It sort off works, but not as I intended it to - for the prompt to show
> current directory I need to execute  'prompt k2'  each time I change to
> different directory.
> 
> I am probably missing something painfully obvious but I can't figure it
> out. A nudge in the right direction will be greatly appreciated.

Attachment: signature.asc
Description: This is a digitally signed message part.



Messages sorted by: Reverse Date, Date, Thread, Author