Created
December 10, 2018 18:01
-
-
Save OGNova/8fe6a4bd92b78179d78b1e0d1fffac1e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Set ZSH_CACHE_DIR to the path where cache files should be created | |
# or else we will use the default cache/ | |
if [[ -z "$ZSH_CACHE_DIR" ]]; then | |
ZSH_CACHE_DIR="$ZSH/cache" | |
fi | |
# Migrate .zsh-update file to $ZSH_CACHE_DIR | |
if [ -f ~/.zsh-update ] && [ ! -f ${ZSH_CACHE_DIR}/.zsh-update ]; then | |
mv ~/.zsh-update ${ZSH_CACHE_DIR}/.zsh-update | |
fi | |
# Check for updates on initial load... | |
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then | |
env ZSH=$ZSH ZSH_CACHE_DIR=$ZSH_CACHE_DIR DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh | |
fi | |
# Initializes Oh My Zsh | |
# add a function path | |
fpath=($ZSH/functions $ZSH/completions $fpath) | |
# Load all stock functions (from $fpath files) called below. | |
autoload -U compaudit compinit | |
# Set ZSH_CUSTOM to the path where your custom config files | |
# and plugins exists, or else we will use the default custom/ | |
if [[ -z "$ZSH_CUSTOM" ]]; then | |
ZSH_CUSTOM="$ZSH/custom" | |
fi | |
# Load all of the config files in ~/oh-my-zsh that end in .zsh | |
# TIP: Add files you don't want in git to .gitignore | |
for config_file ($ZSH/lib/*.zsh); do | |
custom_config_file="${ZSH_CUSTOM}/lib/${config_file:t}" | |
[ -f "${custom_config_file}" ] && config_file=${custom_config_file} | |
source $config_file | |
done | |
is_plugin() { | |
local base_dir=$1 | |
local name=$2 | |
test -f $base_dir/plugins/$name/$name.plugin.zsh \ | |
|| test -f $base_dir/plugins/$name/_$name | |
} | |
# Add all defined plugins to fpath. This must be done | |
# before running compinit. | |
for plugin ($plugins); do | |
if is_plugin $ZSH_CUSTOM $plugin; then | |
fpath=($ZSH_CUSTOM/plugins/$plugin $fpath) | |
elif is_plugin $ZSH $plugin; then | |
fpath=($ZSH/plugins/$plugin $fpath) | |
fi | |
done | |
# Figure out the SHORT hostname | |
if [[ "$OSTYPE" = darwin* ]]; then | |
# macOS's $HOST changes with dhcp, etc. Use ComputerName if possible. | |
SHORT_HOST=$(scutil --get ComputerName 2>/dev/null) || SHORT_HOST=${HOST/.*/} | |
else | |
SHORT_HOST=${HOST/.*/} | |
fi | |
# Save the location of the current completion dump file. | |
if [ -z "$ZSH_COMPDUMP" ]; then | |
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}" | |
fi | |
if [[ $ZSH_DISABLE_COMPFIX != true ]]; then | |
# If completion insecurities exist, warn the user | |
if ! compaudit &>/dev/null; then | |
handle_completion_insecurities | |
fi | |
# Load only from secure directories | |
compinit -i -d "${ZSH_COMPDUMP}" | |
else | |
# If the user wants it, load from all found directories | |
compinit -u -d "${ZSH_COMPDUMP}" | |
fi | |
# Load all of the plugins that were defined in ~/.zshrc | |
for plugin ($plugins); do | |
if [ -f $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh ]; then | |
source $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh | |
elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then | |
source $ZSH/plugins/$plugin/$plugin.plugin.zsh | |
fi | |
done | |
# Load all of your custom configurations from custom/ | |
for config_file ($ZSH_CUSTOM/*.zsh(N)); do | |
source $config_file | |
done | |
unset config_file | |
# Load the theme | |
if [[ "$ZSH_THEME" == "random" ]]; then | |
if [[ "${(t)ZSH_THEME_RANDOM_CANDIDATES}" = "array" ]] && [[ "${#ZSH_THEME_RANDOM_CANDIDATES[@]}" -gt 0 ]]; then | |
themes=($ZSH/themes/${^ZSH_THEME_RANDOM_CANDIDATES}.zsh-theme) | |
else | |
themes=($ZSH/themes/*zsh-theme) | |
fi | |
N=${#themes[@]} | |
((N=(RANDOM%N)+1)) | |
RANDOM_THEME=${themes[$N]} | |
source "$RANDOM_THEME" | |
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." | |
else | |
if [ ! "$ZSH_THEME" = "" ]; then | |
if [ -f "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" ]; then | |
source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" | |
elif [ -f "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme" ]; then | |
source "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme" | |
else | |
source "$ZSH/themes/$ZSH_THEME.zsh-theme" | |
fi | |
fi | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment