@@ -7,12 +7,16 @@ source ~/.../lib/tracefuncs
7
7
8
8
# List each directory in your PATH, one per line
9
9
...path-list () {
10
- local path_
11
- local d
12
- if [ "$#" -eq 1 ]; then eval path_=\$$1; else path_="$PATH"; fi
13
- for d in `echo $path_ | sed -e 's/:/ /g'`; do
14
- echo "$d"
15
- done
10
+ if [ -n " $ZSH_VERSION " ]; then
11
+ printf " %s\n" $path
12
+ else
13
+ local path_
14
+ local d
15
+ if [ " $# " -eq 1 ]; then eval path_=\$ $1 ; else path_=" $PATH " ; fi
16
+ for d in ` echo $path_ | sed -e ' s/:/ /g' ` ; do
17
+ echo " $d "
18
+ done
19
+ fi
16
20
}
17
21
18
22
# Remove a directory from your PATH
@@ -21,43 +25,56 @@ source ~/.../lib/tracefuncs
21
25
...debug " Removed $* from \$ PATH"
22
26
}
23
27
...quiet-path-remove () {
24
- local path_
25
- local d
26
- local p=""
27
- if [ "$#" -eq 2 ]; then eval path_=\$$2; else path_="$PATH"; fi
28
- for d in `echo $path_ | sed -e 's/:/ /g'`; do
29
- if [ "$d" != "$1" ]; then
30
- if [ "$p" = "" ]; then
31
- p="$d"
32
- else
33
- p="$p:$d"
28
+ if [ -n " $ZSH_VERSION " ]; then
29
+ path=(${path:# $1 } )
30
+ else
31
+ local path_
32
+ local d
33
+ local p=" "
34
+ if [ " $# " -eq 2 ]; then eval path_=\$ $2 ; else path_=" $PATH " ; fi
35
+ for d in ` echo $path_ | sed -e ' s/:/ /g' ` ; do
36
+ if [ " $d " != " $1 " ]; then
37
+ if [ " $p " = " " ]; then
38
+ p=" $d "
39
+ else
40
+ p=" $p :$d "
41
+ fi
34
42
fi
35
- fi
36
- done
37
- if [ "$#" -eq 2 ]; then eval $2=\$p; else PATH="$p"; fi
43
+ done
44
+ if [ " $# " -eq 2 ] ; then eval $2 = \$ p ; else PATH= " $p " ; fi
45
+ fi
38
46
}
39
47
40
48
# Add a directory to the start of your PATH while removing old references.
41
49
...path-prepend () {
42
- local path_
43
50
...quiet-path-remove $*
44
- if [ "$#" -eq 2 ]; then eval path_=\$$2; else path_="$PATH"; fi
45
- path_="$1:$path_"
46
- if [ "$#" -eq 2 ]; then eval "$2=$path_"; else PATH="$path_"; fi
51
+ if [ -n " $ZSH_VERSION " ]; then
52
+ path=($1 $path )
53
+ else
54
+ local path_
55
+ if [ " $# " -eq 2 ]; then eval path_=\$ $2 ; else path_=" $PATH " ; fi
56
+ path_=" $1 :$path_ "
57
+ if [ " $# " -eq 2 ]; then eval " $2 =$path_ " ; else PATH=" $path_ " ; fi
58
+ fi
47
59
...debug " Prepended $* to \$ PATH"
48
60
}
49
61
50
62
# Add a directory to the end of your PATH while removing old references.
51
63
...path-append () {
52
- local path_
53
64
...quiet-path-remove $*
54
- if [ "$#" -eq 2 ]; then eval path_=\$$2; else path_="$PATH"; fi
55
- path_="$path_:$1"
56
- if [ "$#" -eq 2 ]; then eval $2=\$path_; else PATH="$path_"; fi
65
+ if [ -n " $ZSH_VERSION " ]; then
66
+ path=($path $1 )
67
+ else
68
+ local path_
69
+ if [ " $# " -eq 2 ]; then eval path_=\$ $2 ; else path_=" $PATH " ; fi
70
+ path_=" $path_ :$1 "
71
+ if [ " $# " -eq 2 ]; then eval $2 =\$ path_; else PATH=" $path_ " ; fi
72
+ fi
57
73
...debug " Appended $* to \$ PATH"
58
74
}
59
75
60
76
# Copyright © 2011 Ingy dot Net <[email protected] >
61
77
#
62
78
# This library is free software, distributed under the ISC License.
63
79
# See the LICENSE file distributed with this library.
80
+ # vim:ft=zsh
0 commit comments