diff options
author | 2006-11-19 07:21:47 +1000 | |
---|---|---|
committer | 2006-11-19 07:21:47 +1000 | |
commit | eb3c99c54e57a13e3fd7ee1f3e7504b6327c807f (patch) | |
tree | 2cca228785728aed0fc886b40a07b01d9c277b02 /share/functions/fish_prompt.fish | |
parent | 5d864e3f690f36cb9c31549375126a2e202ff946 (diff) |
Move the event handler for fish_color_cwd to init file, so it is not autounloaded. Also cache output of call to set_color command to improve performance a bit.
darcs-hash:20061118212147-ac50b-b0f44cca2acf7465dd9ff071aa35a3ac81f0615f.gz
Diffstat (limited to 'share/functions/fish_prompt.fish')
-rw-r--r-- | share/functions/fish_prompt.fish | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/share/functions/fish_prompt.fish b/share/functions/fish_prompt.fish index 42666ff7..bfded25a 100644 --- a/share/functions/fish_prompt.fish +++ b/share/functions/fish_prompt.fish @@ -2,24 +2,21 @@ # string has a newline before and after, so that fish will know how # long it is. -# This event handler makes sure the prompt is repainted when fish_color_cwd changes value -function __fish_repaint --on-variable fish_color_cwd -d (N_ "Event handler, repaints the prompt when fish_color_cwd changes") - commandline -f null -end - function fish_prompt -d (N_ "Write out the prompt") # Just calculate these once, to save a few cycles when displaying the prompt if not set -q __fish_prompt_hostname set -g __fish_prompt_hostname (hostname|cut -d . -f 1) end - + if not set -q __fish_prompt_normal set -g __fish_prompt_normal (set_color normal) end - - set -l prompt_color (set_color $fish_color_cwd) - printf '%s@%s %s%s%s> \n' $USER $__fish_prompt_hostname "$prompt_color" (prompt_pwd) "$__fish_prompt_normal" + if not set -q __fish_prompt_cwd + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + + printf '%s@%s %s%s%s> \n' $USER $__fish_prompt_hostname "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" end |