ohmyzsh/plugins/omz-bootstrap/lib/map.zsh
Marc Cornellà f74c8b2941 Change parameter checks and other style fixes
This commits contains the following modifications:

- Change parameter checks from number of parameters (`$#`) to content length of
  each parameter ( `-z "$1"` ).
  A command called with an empty string in the first parameter *still* receives one
  parameter (`$# = 1`), while checking the string length will work either way.

- Change commands that may be aliased to use the builtin / non-modified
  command, using the 'command' prefix (e.g. `git` -> `command git`).

- Changed the initialization sequence of the plugin, from using a function
  to being inline in the script.
  It also uses the $0 parameter which is set when the script is sourced, and
  it contains the script filepath.
  Example: with command `source test.sh` -> in test.sh, `$0` will be 'test.sh'.

- Various style fixes, including missing space and some comments.
2014-06-10 14:26:53 +02:00

40 lines
844 B
Bash

mapdir="$ZSH/cache/omz-bootstrap"
_map_init() {
command mkdir -p "$mapdir"
}
_map_put() {
[[ -z "$1" || -z "$2" || -z "$3" ]] && return 1
local mapname=$1; local key=$2; local value=$3
[[ -d "${mapdir}/${mapname}" ]] || mkdir "${mapdir}/${mapname}"
echo $value > "${mapdir}/${mapname}/${key}"
}
_map_get() {
[[ -z "$1" || -z "$2" ]] && return 1
local mapname=$1; local key=$2
cat "${mapdir}/${mapname}/${key}"
}
_map_keys() {
[[ -z "$1" ]] && return 1
local mapname=$1
for key ($mapdir/$mapname/*); do
basename $key
done
}
_map_exists() {
[[ -z "$1" || -z "$2" ]] && return 1
local mapname=$1; local key=$2
[[ -f "${mapdir}/${mapname}/${key}" ]] && return 0
}
_map_remove() {
[[ -z "$1" || -z "$2" ]] && return 1
local mapname=$1; local key=$2
command rm "${mapdir}/${mapname}/${key}"
}
_map_init