summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zsh/env6
-rw-r--r--zsh/functions/_op4
-rw-r--r--zsh/rc10
3 files changed, 19 insertions, 1 deletions
diff --git a/zsh/env b/zsh/env
index b2bd2c9..e150338 100644
--- a/zsh/env
+++ b/zsh/env
@@ -1,7 +1,11 @@
# -*- mode: shell-script -*-
+dotfiles_root() {
+ echo ${${(%):-%x}:A:h:h}
+}
+
source_if_exists() {
- [[ -f ${${(%):-%x}:A:h:h}/$1 ]] && . ${${(%):-%x}:A:h:h}/$1 || return 0
+ [[ -f $(dotfiles_root)/$1 ]] && . $(dotfiles_root)/$1 || return 0
}
export DOMAIN=${$(cut -d. -f2- -s <<<${HOST}):l}
diff --git a/zsh/functions/_op b/zsh/functions/_op
new file mode 100644
index 0000000..26f4e3a
--- /dev/null
+++ b/zsh/functions/_op
@@ -0,0 +1,4 @@
+#compdef op
+
+eval "$(op completion zsh)"
+_op $@
diff --git a/zsh/rc b/zsh/rc
index 4da9158..93d9996 100644
--- a/zsh/rc
+++ b/zsh/rc
@@ -1,5 +1,15 @@
# -*- mode: shell-script -*-
+() {
+ local dir
+ for dir (
+ $(dotfiles_root)/zsh/functions
+ $(dotfiles_root)/dotfiles-{${UNAME},${DOMAIN},${HOST}}/zsh/functions
+ ); do
+ [[ -d ${dir} ]] && fpath=(${dir} ${fpath})
+ done
+}
+
autoload -Uz compinit zmv
[[ ! -d ${XDG_CACHE_HOME}/zsh ]] && mkdir -p ${XDG_CACHE_HOME}/zsh