git.fiddlerwoaroof.com
Browse code

detect old zsh, fallback to something sane...

Ed L authored on 08/07/2017 18:08:23
Showing 1 changed files
... ...
@@ -1,50 +1,55 @@
1 1
 #zmodload zsh/zprof
2 2
 PLUGIN_DIR="${PLUGIN_DIR:-$HOME/.zsh.d}"
3
-
3
+LOAD_DEBUG=1
4 4
 local script_depends loaded_depends
5 5
 typeset -A script_depends
6 6
 typeset -A loaded_depends
7 7
 get_depends() {
8
-    awk -F: '$0=="###" || $1 != "#" { exit } $1="depends-on" {print $3}' "$1"
8
+  awk -F: '$0=="###" || $1 != "#" { exit } $1="depends-on" {print $3}' "$1"
9 9
 }
10 10
 
11 11
 build_depends() {
12
-    local -a depends
13
-    depends=${(@f)$(get_depends "$1")}
14
-    for depend in $depends; do
15
-	script_depends[$1]+="$depend:"
16
-    done
12
+  local -a depends
13
+  depends=${(@f)$(get_depends "$1")}
14
+  for depend in $depends; do
15
+    script_depends[$1]+="$depend:"
16
+  done
17 17
 }
18 18
 
19 19
 load_depends() {
20
-    for depend in ${(s<:>)script_depends[$1]}; do
21
-	if [[ -z $loaded_depends[$depend] ]]; then
22
-	  local fn="$PLUGIN_DIR/dependencies/$depend.zsh"
23
-	  if [[ -f $fn ]]; then
24
-	    if [[ -z $script_depends[$fn] ]]; then
25
-	      build_depends "$fn"
26
-	    fi
27
-	    load_depends "$fn"
28
-	    source $fn
29
-	  else
30
-	      echo "$fn missing for $1"
31
-	  fi
32
-	  loaded_depends[$depend]=1
33
-	else
34
-	fi
35
-    done
20
+  for depend in ${(s<:>)script_depends[$1]}; do
21
+    if [[ -z $loaded_depends[$depend] ]]; then
22
+      local fn="$PLUGIN_DIR/dependencies/$depend.zsh"
23
+      if [[ -f $fn ]]; then
24
+        if [[ -z $script_depends[$fn] ]]; then
25
+          build_depends "$fn"
26
+        fi
27
+        load_depends "$fn"
28
+        source $fn
29
+      else
30
+        echo "$fn missing for $1"
31
+      fi
32
+      loaded_depends[$depend]=1
33
+    else
34
+    fi
35
+  done
36 36
 }
37 37
 
38 38
 init_scripts=( $PLUGIN_DIR/*.{,z}sh(N) ) 
39 39
 
40
-PATH="<<<:$PATH:>>>"
41
-for x in $init_scripts; do
40
+if [[ ${ZSH_VERSION%.*} != "5.3" ]]; then
41
+  echo "wrong zsh version... loading fallback configuration"
42
+  PROMPT=$'%~\n%!%# '
43
+else
44
+  PATH="<<<:$PATH:>>>"
45
+  for x in $init_scripts; do
42 46
     build_depends "$x"
43 47
     load_depends "$x"
44 48
     source "$x"
45
-done
49
+  done
50
+fi
46 51
 
47 52
 # Local Variables:
48 53
 # mode: sh
49 54
 # sh-shell: zsh
50
-# End:
51 55
\ No newline at end of file
56
+# End: