You've already forked dotfiles
`share_history` and also may have been interferring with its operation (per the notes in the man file calling out to disable the other settings)
94 lines
2.5 KiB
Bash
94 lines
2.5 KiB
Bash
# Call `zprof` to profile all calls in the current shell
|
|
# Uncomment here and at the bottom of the file, then fully reopen a terminal
|
|
# zmodload zsh/zprof
|
|
|
|
path=(
|
|
/opt/homebrew/bin
|
|
/opt/homebrew/sbin
|
|
"$GOPATH/bin"
|
|
"$HOME/.cargo/bin"
|
|
"$HOME/.local/bin"
|
|
$path
|
|
)
|
|
|
|
# De-dupe path entries
|
|
typeset -U path
|
|
|
|
# Install oh-my-zsh if it doesn't exist
|
|
if [ ! -d "$HOME/.oh-my-zsh/" ]
|
|
then
|
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
|
fi
|
|
|
|
export ZSH="$HOME/.oh-my-zsh"
|
|
|
|
# Install the zsh-autosuggestions plugin if it doesn't exist
|
|
if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]
|
|
then
|
|
git clone https://github.com/zsh-users/zsh-autosuggestions "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions"
|
|
fi
|
|
|
|
plugins=(
|
|
fzf
|
|
virtualenvwrapper
|
|
zsh-autosuggestions
|
|
)
|
|
|
|
# Disable the startup update checks
|
|
zstyle ':omz:update' mode disabled
|
|
|
|
export ZSH_THEME="fb-custom"
|
|
|
|
# Hyphen insensitive completion, `-` and `_` are treated as interchangeable
|
|
export HYPHEN_INSENSITIVE="true"
|
|
|
|
# Vim mode setup
|
|
set -o vi
|
|
|
|
# ZSH options
|
|
setopt no_clobber # Do not clobber files by default
|
|
setopt hist_ignore_all_dups # Replace old history with the newest call to an identical call
|
|
setopt hist_ignore_space # Remove history lines that start with spaces
|
|
setopt share_history # Share history between zsh instances smoothly
|
|
setopt auto_param_slash # Auto append a slash instead of a space if the completion is a dir
|
|
setopt extended_glob null_glob # Use Bash-like globbing
|
|
|
|
# Experimental
|
|
setopt no_case_glob no_case_match
|
|
|
|
# Completion options
|
|
# Give descriptions of what the types of completions given
|
|
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
|
|
# Give an actual output when there is no match
|
|
zstyle ':completion:*:warnings' format '%BNo matches for: %d%b'
|
|
|
|
# Autoload keychain for ssh-agent handling if it is installed
|
|
if command -v keychain &> /dev/null
|
|
then
|
|
eval "$(keychain --eval --quiet --nogui --noask)"
|
|
fi
|
|
|
|
# Inclusion of files to extend the configuration
|
|
# From a theme to local specific changes, and grouping functions/aliases/exports
|
|
include_files=(
|
|
".config/zsh/zsh_local.zsh"
|
|
".config/zsh/zsh_aliases.zsh"
|
|
".config/zsh/zsh_exports.zsh"
|
|
".config/zsh/zsh_functions.zsh"
|
|
)
|
|
|
|
for file in "${include_files[@]}"; do
|
|
full_path="$HOME/$file"
|
|
|
|
if [ ! -f "$full_path" ]; then
|
|
touch "$full_path"
|
|
fi
|
|
|
|
source "$full_path"
|
|
done
|
|
|
|
source "$ZSH/oh-my-zsh.sh"
|
|
|
|
# Call to zprof for startup timings
|
|
# zprof
|