From 2e3731c5b1f0070a076fa84e9e2c35975a962ee5 Mon Sep 17 00:00:00 2001 From: Danyil Bohdan Date: Fri, 4 Dec 2015 14:16:52 +0200 Subject: [PATCH 1/2] "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. --- themes/fishy.zsh-theme | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/themes/fishy.zsh-theme b/themes/fishy.zsh-theme index 8b24172a..5937592d 100644 --- a/themes/fishy.zsh-theme +++ b/themes/fishy.zsh-theme @@ -1,13 +1,13 @@ # ZSH Theme emulating the Fish shell's default prompt. _fishy_collapsed_wd() { - echo $(pwd | perl -pe " + echo $(pwd | perl -pe ' BEGIN { - binmode STDIN, ':encoding(UTF-8)'; - binmode STDOUT, ':encoding(UTF-8)'; - }; s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g -") -} + binmode STDIN, ":encoding(UTF-8)"; + binmode STDOUT, ":encoding(UTF-8)"; + }; s|^$HOME|~|g; s|/([^/.])[^/]*(?=/)|/$1|g; s|/\.([^/])[^/]*(?=/)|/.$1|g; +') +} local user_color='green'; [ $UID -eq 0 ] && user_color='red' PROMPT='%n@%m %{$fg[$user_color]%}$(_fishy_collapsed_wd)%{$reset_color%}%(!.#.>) ' From b15918d414f255f8d2b36c99a338f930d7431b21 Mon Sep 17 00:00:00 2001 From: Danyil Bohdan Date: Mon, 14 Dec 2015 13:35:44 +0200 Subject: [PATCH 2/2] "fishy" theme: Fix "~" use in prompt Actually replace the value of the environment variable $HOME with "~" instead of appending the tilde in front of the prompt. --- themes/fishy.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/fishy.zsh-theme b/themes/fishy.zsh-theme index 5937592d..83bd455b 100644 --- a/themes/fishy.zsh-theme +++ b/themes/fishy.zsh-theme @@ -5,7 +5,7 @@ _fishy_collapsed_wd() { BEGIN { binmode STDIN, ":encoding(UTF-8)"; binmode STDOUT, ":encoding(UTF-8)"; - }; s|^$HOME|~|g; s|/([^/.])[^/]*(?=/)|/$1|g; s|/\.([^/])[^/]*(?=/)|/.$1|g; + }; s|^$ENV{HOME}|~|g; s|/([^/.])[^/]*(?=/)|/$1|g; s|/\.([^/])[^/]*(?=/)|/.$1|g ') }