You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							194 lines
						
					
					
						
							6.7 KiB
						
					
					
				
			
		
		
		
			
			
				
					
				
				
					
				
			
		
		
	
	
							194 lines
						
					
					
						
							6.7 KiB
						
					
					
				
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# .zshrc
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# User-specific ~/.zshrc, generalized for GNU/Linux and Apple OS X
							 | 
						|
								# Excecuted by zsh for interactive shells
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Tab completion settings (added by compinstall)
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								zstyle ':completion:*' auto-description 'Specify parameter: %d'
							 | 
						|
								zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
							 | 
						|
								zstyle ':completion:*' completions 1
							 | 
						|
								zstyle ':completion:*' expand prefix suffix
							 | 
						|
								zstyle ':completion:*' format 'Completing %d...'
							 | 
						|
								zstyle ':completion:*' glob 1
							 | 
						|
								zstyle ':completion:*' group-name ''
							 | 
						|
								zstyle ':completion:*' ignore-parents parent pwd directory
							 | 
						|
								zstyle ':completion:*' insert-unambiguous true
							 | 
						|
								zstyle ':completion:*' list-colors ''
							 | 
						|
								zstyle ':completion:*' list-prompt %SAt %l: Hit TAB for more, or the character to insert%s
							 | 
						|
								zstyle ':completion:*' list-suffixes true
							 | 
						|
								zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'r:|[._-()@]=** r:|=**' 'l:|=* r:|=*'
							 | 
						|
								zstyle ':completion:*' max-errors 1
							 | 
						|
								zstyle ':completion:*' menu select=long
							 | 
						|
								zstyle ':completion:*' original true
							 | 
						|
								zstyle ':completion:*' preserve-prefix '//[^/]##/'
							 | 
						|
								zstyle ':completion:*' select-prompt %SScrolling active: current selection at %l%s
							 | 
						|
								zstyle ':completion:*' substitute 1
							 | 
						|
								zstyle ':completion:*' verbose true
							 | 
						|
								zstyle :compinstall filename '/home/djsissom/.zshrc'
							 | 
						|
								
							 | 
						|
								fpath=(~/.zsh $fpath)
							 | 
						|
								fpath=( "$HOME/.zsh/functions" $fpath )
							 | 
						|
								autoload -Uz compinit && compinit
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Shell behavior
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								HISTFILE=~/.histfile
							 | 
						|
								HISTSIZE=2500
							 | 
						|
								SAVEHIST=2500
							 | 
						|
								setopt appendhistory extendedglob nomatch notify
							 | 
						|
								unsetopt autocd beep
							 | 
						|
								bindkey -v  # emulate vi keybindings
							 | 
						|
								bindkey "^?" backward-delete-char  # fix backspacing over newlines
							 | 
						|
								bindkey '^R' history-incremental-pattern-search-backward  # search
							 | 
						|
								bindkey '^F' history-incremental-pattern-search-forward   # search
							 | 
						|
								
							 | 
						|
								setopt HIST_IGNORE_DUPS
							 | 
						|
								setopt RM_STAR_SILENT
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Create a zkbd compatible hash (see man 5 terminfo to add other keys)
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								typeset -A key
							 | 
						|
								
							 | 
						|
								key[Home]=${terminfo[khome]}
							 | 
						|
								key[End]=${terminfo[kend]}
							 | 
						|
								key[Insert]=${terminfo[kich1]}
							 | 
						|
								key[Delete]=${terminfo[kdch1]}
							 | 
						|
								key[Up]=${terminfo[kcuu1]}
							 | 
						|
								key[Down]=${terminfo[kcud1]}
							 | 
						|
								key[Left]=${terminfo[kcub1]}
							 | 
						|
								key[Right]=${terminfo[kcuf1]}
							 | 
						|
								key[PageUp]=${terminfo[kpp]}
							 | 
						|
								key[PageDown]=${terminfo[knp]}
							 | 
						|
								
							 | 
						|
								[[ -n "${key[Home]}"     ]]  && bindkey  "${key[Home]}"     beginning-of-line
							 | 
						|
								[[ -n "${key[End]}"      ]]  && bindkey  "${key[End]}"      end-of-line
							 | 
						|
								[[ -n "${key[Insert]}"   ]]  && bindkey  "${key[Insert]}"   overwrite-mode
							 | 
						|
								[[ -n "${key[Delete]}"   ]]  && bindkey  "${key[Delete]}"   delete-char
							 | 
						|
								[[ -n "${key[Up]}"       ]]  && bindkey  "${key[Up]}"       up-line-or-history
							 | 
						|
								[[ -n "${key[Down]}"     ]]  && bindkey  "${key[Down]}"     down-line-or-history
							 | 
						|
								[[ -n "${key[Left]}"     ]]  && bindkey  "${key[Left]}"     backward-char
							 | 
						|
								[[ -n "${key[Right]}"    ]]  && bindkey  "${key[Right]}"    forward-char
							 | 
						|
								[[ -n "${key[PageUp]}"   ]]  && bindkey  "${key[PageUp]}"   beginning-of-buffer-or-history
							 | 
						|
								[[ -n "${key[PageDown]}" ]]  && bindkey  "${key[PageDown]}" end-of-buffer-or-history
							 | 
						|
								
							 | 
						|
								# Finally, make sure the terminal is in application mode, when zle is active.
							 | 
						|
								# Only then are the values from $terminfo valid.
							 | 
						|
								if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
							 | 
						|
								    function zle-line-init () {
							 | 
						|
								        printf '%s' "${terminfo[smkx]}"
							 | 
						|
								    }
							 | 
						|
								    function zle-line-finish () {
							 | 
						|
								        printf '%s' "${terminfo[rmkx]}"
							 | 
						|
								    }
							 | 
						|
								    zle -N zle-line-init
							 | 
						|
								    zle -N zle-line-finish
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Source external definitions
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								[ -r ~/.colornames ] && . ~/.colornames     # Human-readable color variables
							 | 
						|
								autoload -U colors && colors
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Shell behavior
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								if [[ $hostenv == osx ]]; then
							 | 
						|
									export EDITOR='vim'                 # Use vim as default text editor
							 | 
						|
								else
							 | 
						|
									export EDITOR='vim -display none'   # Use vim as default text editor
							 | 
						|
								fi
							 | 
						|
								export GPG_TTY=$(tty)                   # Fix GPG pin prompt bug with git
							 | 
						|
								export SDL_VIDEO_FULLSCREEN_HEAD=3
							 | 
						|
								setopt HIST_IGNORE_SPACE
							 | 
						|
								tabs 4                                  # Set default tab stop at 4 spaces
							 | 
						|
								
							 | 
						|
								if [[ $HOST == motoko ]]; then
							 | 
						|
									export TERM=xterm-256color
							 | 
						|
								fi
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Source alias definitions file
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								[ -r ~/.aliases ] && . ~/.aliases
							 | 
						|
								setopt complete_aliases
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Program-specific settings and fixes
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								# make less more friendly for non-text input files, see lesspipe(1)
							 | 
						|
								[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# User-defined functions
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								# Enable user-passable growl notifications
							 | 
						|
								growl() { echo -e $'\e]9;'${1}'\007' ; return ; }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Set up command line syntax highlighting plugin
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								zsh_hl_path=/usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
							 | 
						|
								[ -r $zsh_hl_path ] && source $zsh_hl_path
							 | 
						|
								ZSH_HIGHLIGHT_HIGHLIGHTERS=(brackets root)  # options: main brackets pattern cursor root line
							 | 
						|
								#ZSH_HIGHLIGHT_STYLES[unknown-token]='none'  # example to customize main class tokens
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# Set up prompt
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								autoload -Uz promptinit && promptinit
							 | 
						|
								prompt pure
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 | 
						|
								# End
							 | 
						|
								#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
							 |