2011-10-12 05:13:58 +02:00
|
|
|
# Initializes Oh My Zsh.
|
|
|
|
|
|
|
|
# Check for the minimum supported version.
|
|
|
|
min_zsh_version=4.3.9
|
|
|
|
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
|
2011-12-26 19:37:53 +01:00
|
|
|
print "omz: The minimum supported Zsh version is $min_zsh_version."
|
2011-10-12 05:13:58 +02:00
|
|
|
fi
|
|
|
|
unset min_zsh_version
|
2009-09-01 16:41:18 +02:00
|
|
|
|
2011-12-26 19:37:53 +01:00
|
|
|
# Disable color and theme in dumb terminals.
|
2011-06-01 08:48:26 +02:00
|
|
|
if [[ "$TERM" == 'dumb' ]]; then
|
2011-12-26 19:37:53 +01:00
|
|
|
zstyle ':omz:*:*' color 'no'
|
|
|
|
zstyle ':omz:prompt' theme 'off'
|
2011-02-27 16:13:57 +01:00
|
|
|
fi
|
|
|
|
|
2011-12-26 19:37:53 +01:00
|
|
|
# Get enabled plugins.
|
|
|
|
zstyle -a ':omz:load' plugin 'plugins'
|
|
|
|
|
2011-07-18 02:15:51 +02:00
|
|
|
# Add functions to fpath.
|
2011-09-24 02:11:33 +02:00
|
|
|
fpath=(
|
2011-10-12 05:13:58 +02:00
|
|
|
${0:h}/themes/*(/FN)
|
|
|
|
${plugins:+${0:h}/plugins/${^plugins}/{functions,completions}(/FN)}
|
|
|
|
${0:h}/{functions,completions}(/FN)
|
2011-09-24 02:11:33 +02:00
|
|
|
$fpath
|
|
|
|
)
|
|
|
|
|
|
|
|
# Load and initialize the completion system ignoring insecure directories.
|
2011-07-15 04:50:40 +02:00
|
|
|
autoload -Uz compinit && compinit -i
|
|
|
|
|
2011-09-24 02:11:33 +02:00
|
|
|
# Source files (the order matters).
|
2011-10-11 03:49:47 +02:00
|
|
|
source "${0:h}/helper.zsh"
|
|
|
|
source "${0:h}/environment.zsh"
|
|
|
|
source "${0:h}/terminal.zsh"
|
|
|
|
source "${0:h}/keyboard.zsh"
|
|
|
|
source "${0:h}/completion.zsh"
|
|
|
|
source "${0:h}/history.zsh"
|
|
|
|
source "${0:h}/directory.zsh"
|
|
|
|
source "${0:h}/alias.zsh"
|
|
|
|
source "${0:h}/spectrum.zsh"
|
|
|
|
source "${0:h}/utility.zsh"
|
2009-10-01 09:55:07 +02:00
|
|
|
|
2011-10-12 05:13:58 +02:00
|
|
|
# Autoload Zsh function builtins.
|
|
|
|
autoload -Uz age
|
|
|
|
autoload -Uz zargs
|
|
|
|
autoload -Uz zcalc
|
|
|
|
autoload -Uz zmv
|
|
|
|
|
2011-09-11 07:02:10 +02:00
|
|
|
# Source plugins defined in ~/.zshrc.
|
2011-10-12 05:13:58 +02:00
|
|
|
for plugin in "$plugins[@]"; do
|
2011-12-26 19:37:53 +01:00
|
|
|
zstyle ":omz:plugin:$plugin" enable 'yes'
|
2011-12-30 05:19:16 +01:00
|
|
|
|
|
|
|
if [[ ! -d "${0:h}/plugins/$plugin" ]]; then
|
|
|
|
print "omz: no such plugin: $plugin" >&2
|
|
|
|
fi
|
|
|
|
|
2011-10-11 03:49:47 +02:00
|
|
|
if [[ -f "${0:h}/plugins/$plugin/init.zsh" ]]; then
|
|
|
|
source "${0:h}/plugins/$plugin/init.zsh"
|
2011-04-12 23:41:09 +02:00
|
|
|
fi
|
|
|
|
done
|
2011-10-12 05:13:58 +02:00
|
|
|
unset plugin plugins
|
|
|
|
|
|
|
|
# Autoload Oh My Zsh functions.
|
|
|
|
for fdir in "$fpath[@]"; do
|
|
|
|
if [[ "$fdir" == ${0:h}/(|*/)functions ]]; then
|
|
|
|
for afunction in $fdir/[^_.]*(N.:t); do
|
|
|
|
autoload -Uz $afunction
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
done
|
2011-04-12 23:41:09 +02:00
|
|
|
|
2011-09-24 02:11:33 +02:00
|
|
|
# Set environment variables for launchd processes.
|
2011-09-05 06:32:39 +02:00
|
|
|
if [[ "$OSTYPE" == darwin* ]]; then
|
2011-12-28 21:06:21 +01:00
|
|
|
for env_var in PATH MANPATH; do
|
|
|
|
launchctl setenv "$env_var" "${(P)env_var}" &!
|
|
|
|
done
|
2011-09-05 06:32:39 +02:00
|
|
|
fi
|
|
|
|
|
2011-07-18 02:15:51 +02:00
|
|
|
# Load and run the prompt theming system.
|
2011-09-24 02:11:33 +02:00
|
|
|
autoload -Uz promptinit && promptinit
|
2011-04-29 11:24:29 +02:00
|
|
|
|
2011-12-26 19:37:53 +01:00
|
|
|
# Load the prompt theme.
|
|
|
|
zstyle -a ':omz:prompt' theme 'prompt_argv'
|
|
|
|
prompt "$prompt_argv[@]"
|
|
|
|
unset prompt_argv
|
|
|
|
|
2011-09-05 06:22:23 +02:00
|
|
|
# Compile zcompdump, if modified, to increase startup speed.
|
|
|
|
if [[ "$HOME/.zcompdump" -nt "$HOME/.zcompdump.zwc" ]] || [[ ! -f "$HOME/.zcompdump.zwc" ]]; then
|
|
|
|
zcompile "$HOME/.zcompdump"
|
|
|
|
fi
|
2011-05-31 01:46:27 +02:00
|
|
|
|