functions/xhashd
author Mikael Berthe <mikael@lilotux.net>
Sun, 22 Mar 2015 15:04:45 +0100
changeset 30 e26330cd408f
parent 22 f84d194b7d99
permissions -rw-r--r--
Use copy-prev-shell-word instead of copy-prev-word
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
### xhashd(): check for directory, then create hash -d
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
# Copied and slightly modified from Franck Terbeck zsh configuration.
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
# https://dev.0x50.de/projects/ftzsh/repository
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     6
local key val com
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     7
if (( ${#argv} == 0 )) ; then
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
    printf 'xhashd(): Missing argument.\n'
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
    return 1
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
fi
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
if (( ${#argv} > 1 )) ; then
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
    printf 'xhashd(): Too many arguments %s\n' "${#argv}"
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
    return 1
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
fi
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    15
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
key="${1%%\=*}" ;  val="${1#*\=}"
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    17
val=${val/#\~\//$HOME/}
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
[[ -d ${val} ]] && hash -d -- "${key}=${val}"
f84d194b7d99 Add ft's xhashd function
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
return 0