summaryrefslogtreecommitdiffstats
path: root/zsh/.zshrc
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/.zshrc')
-rw-r--r--zsh/.zshrc90
1 files changed, 90 insertions, 0 deletions
diff --git a/zsh/.zshrc b/zsh/.zshrc
new file mode 100644
index 0000000..2fa8d52
--- /dev/null
+++ b/zsh/.zshrc
@@ -0,0 +1,90 @@
+# language environments {{{
+test -f $HOME/perl5/perlbrew/etc/bashrc && source $HOME/perl5/perlbrew/etc/bashrc
+test -f $HOME/python/bin/activate && source $HOME/python/bin/activate
+type rbenv > /dev/null 2>&1 && eval "$(rbenv init -)"
+test -d $HOME/.cargo/bin && export PATH="$HOME/.cargo/bin:$PATH"
+# }}}
+# environment {{{
+# not using .zshenv, because it runs before /etc/profile, and /etc/profile
+# tends to hard-set $PATH and such
+[ -d /usr/share/git/diff-highlight ] && export PATH="/usr/share/git/diff-highlight:${PATH}"
+[ -d /usr/local/share/git-core/contrib/diff-highlight ] && export PATH="/usr/local/share/git-core/contrib/diff-highlight:${PATH}"
+export PATH="${HOME}/.bin/local:${HOME}/.bin/$(hostname):${HOME}/.bin:/usr/lib/ccache/bin:$PATH"
+[ -f "$HOME/.config/sh/env" ] && source $HOME/.config/sh/env
+# }}}
+# Change the window title of X terminals {{{
+function term_title_precmd () {
+ echo -ne "\033]0;${USER}@${HOST}:${PWD/$HOME/~}\007"
+}
+case ${TERM} in
+ xterm*|rxvt*|Eterm|aterm|kterm|gnome|screen*)
+ precmd_functions+=(term_title_precmd)
+ ;;
+esac # }}}
+# aliases {{{
+[ -f "$HOME/.config/sh/aliases" ] && source $HOME/.config/sh/aliases
+[ -f "$HOME/.config/sh/functions" ] && source $HOME/.config/sh/functions
+# }}}
+# completion {{{
+fpath=(~/.config/zsh/local-completions/$(hostname) ~/.config/zsh/local-completions ~/.config/zsh/zsh-completions/src $fpath)
+source ~/.zshcomplete
+# }}}
+# zsh configuration {{{
+source ~/.zshinput
+autoload -U colors
+colors
+setopt incappendhistory
+setopt extendedhistory
+setopt histignoredups
+setopt noclobber
+setopt nobeep
+setopt completeinword
+setopt correct
+export REPORTTIME=120
+export HISTFILE=$HOME/.zsh_history
+export HISTSIZE=1000000000
+export SAVEHIST=1000000000
+export SPROMPT="Correct $fg[red]%R$reset_color to $fg[green]%r$reset_color? [ynae] "
+export KEYTIMEOUT=5
+# plugins {{{
+# cdhist {{{
+source ~/.config/sh/cdhist.sh
+# }}}
+# zsh-syntax-highlighting {{{
+ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)
+source ~/.config/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=green'
+ZSH_HIGHLIGHT_STYLES[alias]='fg=green'
+ZSH_HIGHLIGHT_STYLES[builtin]='fg=green'
+ZSH_HIGHLIGHT_STYLES[function]='fg=green'
+ZSH_HIGHLIGHT_STYLES[command]='fg=green'
+ZSH_HIGHLIGHT_STYLES[precommand]='fg=yellow'
+ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=green'
+ZSH_HIGHLIGHT_STYLES[path]='fg=blue,bold'
+ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=blue,underline'
+ZSH_HIGHLIGHT_STYLES[path_approx]='underline'
+ZSH_HIGHLIGHT_STYLES[globbing]='fg=magenta'
+ZSH_HIGHLIGHT_STYLES[history-expansion]='none'
+ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=green'
+ZSH_HIGHLIGHT_STYLES[assign]='fg=cyan'
+# }}}
+# zsh-autosuggestions {{{
+source ~/.config/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
+ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=black,bold'
+# see https://github.com/zsh-users/zsh-autosuggestions/issues/619
+unset ZSH_AUTOSUGGEST_USE_ASYNC
+# }}}
+# vim-history-sync {{{
+source ~/.vim/pack/plugins/start/history-sync/sh/history-sync.zsh
+# }}}
+# }}}
+# prompt {{{
+if type starship > /dev/null 2>&1; then
+ eval "$(starship init zsh)"
+fi
+# }}}
+# }}}
+# fortune {{{
+fortune -n600 -s ~/.local/share/fortune | grep -v -E "^$"
+# }}}
+# vim: fdm=marker