You've already forked dotfiles
- Removing the load_lauunchjs call for dap as it's no longer needed. - Cleanup of lspconfig of several lines that appear to not do anything in testing, and updating keymap order. - Removing the luasnip setup section as it appears to not be required in testing. - Update to nvim-cmp for luasnip relative loading and removing the buffer from command mode completion - Twilight update to narrow the focus but also expand out if statements. - ZSH re-enabling keychain despite it being slow as replacement with gpg-agent will take a focused session to do across environments
97 lines
2.6 KiB
Bash
97 lines
2.6 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=(
|
|
$GOPATH/bin
|
|
$HOME/.cargo/bin
|
|
$HOME/.local/bin
|
|
$path
|
|
)
|
|
|
|
# De-dupe path entries
|
|
typeset -U path
|
|
path=($^path(N-/))
|
|
|
|
# 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 ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions ]
|
|
then
|
|
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
|
fi
|
|
|
|
plugins=(
|
|
fzf
|
|
virtualenvwrapper
|
|
zsh-autosuggestions
|
|
)
|
|
|
|
# Disable the startup update checks
|
|
zstyle ':omz:update' mode disabled
|
|
|
|
ZSH_THEME="fb-custom"
|
|
|
|
# Hyphen insensitive completion, `-` and `_` are treated as interchangeable
|
|
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 without needing explicit sharing
|
|
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 append_history inc_append_history
|
|
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
|
|
|
|
# TODO: Replace above with GPG agent
|
|
# GPG Agent handling of ssh key authorization and unlocks
|
|
|
|
# Inclusion of files to extend the configuration
|
|
# From a theme to local specific changes, and grouping functions/aliases/exports
|
|
include_files=(
|
|
"$HOME/.config/zsh/zsh_local.zsh"
|
|
"$HOME/.config/zsh/zsh_aliases.zsh"
|
|
"$HOME/.config/zsh/zsh_exports.zsh"
|
|
"$HOME/.config/zsh/zsh_functions.zsh"
|
|
)
|
|
|
|
for file in $include_files; do
|
|
if [ ! -f $file ]
|
|
then
|
|
# Create files even if they aren't overriden in the environment
|
|
touch $file
|
|
fi
|
|
|
|
source $file
|
|
done
|
|
|
|
source $ZSH/oh-my-zsh.sh
|
|
|
|
# Call to zprof for startup timings
|
|
# zprof
|