summaryrefslogtreecommitdiff
path: root/dot_local/share/toasty/zshrc
diff options
context:
space:
mode:
Diffstat (limited to 'dot_local/share/toasty/zshrc')
-rw-r--r--dot_local/share/toasty/zshrc61
1 files changed, 61 insertions, 0 deletions
diff --git a/dot_local/share/toasty/zshrc b/dot_local/share/toasty/zshrc
new file mode 100644
index 0000000..1fbe57b
--- /dev/null
+++ b/dot_local/share/toasty/zshrc
@@ -0,0 +1,61 @@
+print -Pv zrc %N # get current file location, store it in $zrc
+zrc=$zrc:A # resolve $zrc (assume path) to its absolute location
+zshd=${zrc:h}
+
+: ${zd:=$HOME/.zsh}
+
+# spath -> autosource path, ala plugins
+# apath -> sourceall path, for .d dirs
+typeset -T SPATH spath
+typeset -T APATH apath
+
+# default values
+spath=(
+ $zd/plugins
+ $zshd/plugins
+)
+apath=(
+ $zshd/source
+ $zd/source
+)
+
+# user stuff comes first
+# completions come after the functions they complete
+fpath+=(
+ $zd/functions
+ $zd/completions
+ $zd/prompts
+ $zshd/functions
+ $zshd/completions
+ $zshd/prompts
+)
+# you can use your functions as standalone scripts without autoloading them
+# just +x
+path+=(
+ $zd/functions
+)
+
+# sourced before sourcealling
+# should be the location to edit fpath/apath/spath
+[[ -f $zd/pre ]] && . $zd/pre
+
+# allow digest drop-in
+if [[ -d $zd/digests ]]; then
+ local f=
+ for f in $zd/digests/*.zwc(N); do
+ fpath+=( $f )
+ autoload -w $f
+ done
+fi
+
+autoload sourceall
+sourceall zsh # source every .zsh file in every $apath[@] directory
+
+# local zshrc
+[[ -f $zd/zshrc.local ]] && . $zd/zshrc.local
+
+# LITERALLY THE VERY LAST THING WE DO IS COMPINIT PLS DUN DO IT URSELF
+autoload -Uz compinit
+compinit
+
+# vim: ft=zsh