Browse Source

Remove perl dependency

Marc Cornellà 3 years ago
parent
commit
a7f5170d68
3 changed files with 14 additions and 8 deletions
  1. 4 1
      plugins/timer/timer.plugin.zsh
  2. 9 6
      themes/fishy.zsh-theme
  3. 1 1
      themes/trapd00r.zsh-theme

+ 4 - 1
plugins/timer/timer.plugin.zsh

@@ -1,5 +1,8 @@
+zmodload zsh/datetime
+
 __timer_current_time() {
-  perl -MTime::HiRes=time -e'print time'
+  zmodload zsh/datetime
+  echo $EPOCHREALTIME
 }
 
 __timer_format_duration() {

+ 9 - 6
themes/fishy.zsh-theme

@@ -1,12 +1,15 @@
 # ZSH Theme emulating the Fish shell's default prompt.
 
 _fishy_collapsed_wd() {
-  echo $(pwd | perl -pe '
-   BEGIN {
-      binmode STDIN,  ":encoding(UTF-8)";
-      binmode STDOUT, ":encoding(UTF-8)";
-   }; s|^$ENV{HOME}|~|g; s|/([^/.])[^/]*(?=/)|/$1|g; s|/\.([^/])[^/]*(?=/)|/.$1|g
-')
+  local -a pwd=("${(s:/:)PWD/#$HOME/~}")
+  for i in {1..$(($#pwd-1))}; do
+    if [[ "$pwd[$i]" = .* ]]; then
+      pwd[$i]="${${pwd[$i]}[1,2]}"
+    else
+      pwd[$i]="${${pwd[$i]}[1]}"
+    fi
+  done
+  echo "${(j:/:)pwd}"
 }
 
 local user_color='green'; [ $UID -eq 0 ] && user_color='red'

+ 1 - 1
themes/trapd00r.zsh-theme

@@ -2,7 +2,7 @@
 #
 # This theme needs a terminal supporting 256 colors as well as unicode.
 # In order to avoid external dependencies, it also has a zsh version of
-# the perl script at https://github.com/trapd00r/utils/blob/master/zsh_path,
+# the previously used perl script https://github.com/trapd00r/utils/blob/master/zsh_path,
 # which splits up the current path and makes it fancy.
 #
 # By default it spans over two lines like so: