"fishy" theme: Shorten path .foo to .f, not .

When the current path is /home/user/.config/doublecmd the prompt
now reads "/h/u/.c/doublecmd", not "/h/u/./doublecmd" as was the
case. This matches what the Fish shell does.

Enclose the Perl snippet in single quotes instead of double quotes.
This commit is contained in:
Danyil Bohdan 2015-12-04 14:16:52 +02:00
parent c82f49e734
commit 2e3731c5b1

View file

@ -1,13 +1,13 @@
# ZSH Theme emulating the Fish shell's default prompt. # ZSH Theme emulating the Fish shell's default prompt.
_fishy_collapsed_wd() { _fishy_collapsed_wd() {
echo $(pwd | perl -pe " echo $(pwd | perl -pe '
BEGIN { BEGIN {
binmode STDIN, ':encoding(UTF-8)'; binmode STDIN, ":encoding(UTF-8)";
binmode STDOUT, ':encoding(UTF-8)'; binmode STDOUT, ":encoding(UTF-8)";
}; s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g }; s|^$HOME|~|g; s|/([^/.])[^/]*(?=/)|/$1|g; s|/\.([^/])[^/]*(?=/)|/.$1|g;
") ')
} }
local user_color='green'; [ $UID -eq 0 ] && user_color='red' local user_color='green'; [ $UID -eq 0 ] && user_color='red'
PROMPT='%n@%m %{$fg[$user_color]%}$(_fishy_collapsed_wd)%{$reset_color%}%(!.#.>) ' PROMPT='%n@%m %{$fg[$user_color]%}$(_fishy_collapsed_wd)%{$reset_color%}%(!.#.>) '