From e53667c7ee8d6fde268dfd48b308f0e38f729013 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Thu, 21 Aug 2014 00:14:54 +0200 Subject: Restore zsh config --- bash_profile | 1 - zprofile | 19 ---- zsh/.bash_profile | 1 + zsh/.zprofile | 19 ++++ zsh/.zsh/functions/add-to-list | 10 ++ zsh/.zsh/functions/add_to_list | 4 + zsh/.zsh/functions/chpwd_show_todo | 7 ++ zsh/.zsh/functions/chpwd_update_git_vars | 2 + zsh/.zsh/functions/emacs-backward-kill-word | 3 + zsh/.zsh/functions/env | 3 + zsh/.zsh/functions/get_cnt | 15 +++ zsh/.zsh/functions/insert-sudo | 5 + zsh/.zsh/functions/line | 8 ++ zsh/.zsh/functions/mailcount | 7 ++ zsh/.zsh/functions/precmd_maybe_festival | 15 +++ zsh/.zsh/functions/precmd_update_git_vars | 6 ++ zsh/.zsh/functions/precmd_update_updates | 11 ++ zsh/.zsh/functions/preexec_update_vars | 16 +++ zsh/.zsh/functions/prompt | 15 +++ zsh/.zsh/functions/prompt_git_info | 23 +++++ zsh/.zsh/functions/rprompt | 4 + zsh/.zsh/functions/shorten-dir | 6 ++ zsh/.zsh/functions/update_current_git_vars | 30 ++++++ zsh/.zsh/functions/venv | 15 +++ zsh/.zsh/functions/welcome | 10 ++ zsh/.zshrc | 155 ++++++++++++++++++++++++++++ zsh/functions/add-to-list | 10 -- zsh/functions/add_to_list | 4 - zsh/functions/chpwd_show_todo | 7 -- zsh/functions/chpwd_update_git_vars | 2 - zsh/functions/emacs-backward-kill-word | 3 - zsh/functions/env | 3 - zsh/functions/get_cnt | 15 --- zsh/functions/insert-sudo | 5 - zsh/functions/line | 8 -- zsh/functions/mailcount | 7 -- zsh/functions/precmd_maybe_festival | 15 --- zsh/functions/precmd_update_git_vars | 6 -- zsh/functions/precmd_update_updates | 11 -- zsh/functions/preexec_update_vars | 16 --- zsh/functions/prompt | 15 --- zsh/functions/prompt_git_info | 23 ----- zsh/functions/rprompt | 4 - zsh/functions/shorten-dir | 6 -- zsh/functions/update_current_git_vars | 30 ------ zsh/functions/venv | 15 --- zsh/functions/welcome | 10 -- zshrc | 151 --------------------------- 48 files changed, 390 insertions(+), 386 deletions(-) delete mode 120000 bash_profile delete mode 100644 zprofile create mode 120000 zsh/.bash_profile create mode 100644 zsh/.zprofile create mode 100644 zsh/.zsh/functions/add-to-list create mode 100644 zsh/.zsh/functions/add_to_list create mode 100644 zsh/.zsh/functions/chpwd_show_todo create mode 100644 zsh/.zsh/functions/chpwd_update_git_vars create mode 100644 zsh/.zsh/functions/emacs-backward-kill-word create mode 100644 zsh/.zsh/functions/env create mode 100644 zsh/.zsh/functions/get_cnt create mode 100644 zsh/.zsh/functions/insert-sudo create mode 100644 zsh/.zsh/functions/line create mode 100755 zsh/.zsh/functions/mailcount create mode 100644 zsh/.zsh/functions/precmd_maybe_festival create mode 100644 zsh/.zsh/functions/precmd_update_git_vars create mode 100644 zsh/.zsh/functions/precmd_update_updates create mode 100644 zsh/.zsh/functions/preexec_update_vars create mode 100644 zsh/.zsh/functions/prompt create mode 100644 zsh/.zsh/functions/prompt_git_info create mode 100644 zsh/.zsh/functions/rprompt create mode 100644 zsh/.zsh/functions/shorten-dir create mode 100644 zsh/.zsh/functions/update_current_git_vars create mode 100644 zsh/.zsh/functions/venv create mode 100644 zsh/.zsh/functions/welcome create mode 100644 zsh/.zshrc delete mode 100644 zsh/functions/add-to-list delete mode 100644 zsh/functions/add_to_list delete mode 100644 zsh/functions/chpwd_show_todo delete mode 100644 zsh/functions/chpwd_update_git_vars delete mode 100644 zsh/functions/emacs-backward-kill-word delete mode 100644 zsh/functions/env delete mode 100644 zsh/functions/get_cnt delete mode 100644 zsh/functions/insert-sudo delete mode 100644 zsh/functions/line delete mode 100755 zsh/functions/mailcount delete mode 100644 zsh/functions/precmd_maybe_festival delete mode 100644 zsh/functions/precmd_update_git_vars delete mode 100644 zsh/functions/precmd_update_updates delete mode 100644 zsh/functions/preexec_update_vars delete mode 100644 zsh/functions/prompt delete mode 100644 zsh/functions/prompt_git_info delete mode 100644 zsh/functions/rprompt delete mode 100644 zsh/functions/shorten-dir delete mode 100644 zsh/functions/update_current_git_vars delete mode 100644 zsh/functions/venv delete mode 100644 zsh/functions/welcome delete mode 100644 zshrc diff --git a/bash_profile b/bash_profile deleted file mode 120000 index c1abe3f..0000000 --- a/bash_profile +++ /dev/null @@ -1 +0,0 @@ -.zprofile \ No newline at end of file diff --git a/zprofile b/zprofile deleted file mode 100644 index 290b7c1..0000000 --- a/zprofile +++ /dev/null @@ -1,19 +0,0 @@ -export BROWSER=conkeror -export EDITOR="emacsclient -c -a emacs" - -PATH="$HOME/usr/bin:$PATH" -PATH="/usr/local/heroku/bin:$PATH" -export PATH - -INFOPATH="$HOME/documents/info:$INFOPATH" -INFOPATH="$HOME/.emacs.d/vendor-lisp/org/doc:$INFOPATH" -INFOPATH="$INFOPATH:/usr/share/info" -INFOPATH="$INFOPATH:/usr/local/share/info" -export INFOPATH - -DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/`id -u`/bus" -export DBUS_SESSION_BUS_ADDRESS - -if [ -z "$SSH_AGENT_PID" ]; then - eval `ssh-agent` -fi diff --git a/zsh/.bash_profile b/zsh/.bash_profile new file mode 120000 index 0000000..c1abe3f --- /dev/null +++ b/zsh/.bash_profile @@ -0,0 +1 @@ +.zprofile \ No newline at end of file diff --git a/zsh/.zprofile b/zsh/.zprofile new file mode 100644 index 0000000..290b7c1 --- /dev/null +++ b/zsh/.zprofile @@ -0,0 +1,19 @@ +export BROWSER=conkeror +export EDITOR="emacsclient -c -a emacs" + +PATH="$HOME/usr/bin:$PATH" +PATH="/usr/local/heroku/bin:$PATH" +export PATH + +INFOPATH="$HOME/documents/info:$INFOPATH" +INFOPATH="$HOME/.emacs.d/vendor-lisp/org/doc:$INFOPATH" +INFOPATH="$INFOPATH:/usr/share/info" +INFOPATH="$INFOPATH:/usr/local/share/info" +export INFOPATH + +DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/`id -u`/bus" +export DBUS_SESSION_BUS_ADDRESS + +if [ -z "$SSH_AGENT_PID" ]; then + eval `ssh-agent` +fi diff --git a/zsh/.zsh/functions/add-to-list b/zsh/.zsh/functions/add-to-list new file mode 100644 index 0000000..18720e0 --- /dev/null +++ b/zsh/.zsh/functions/add-to-list @@ -0,0 +1,10 @@ +# -*- mode: sh; -*- +if [[ ! "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then + if [ -n "$3" ]; then + # Append + typeset -g $1="${(P)${1}}:$2" + else + # Prepend + typeset -g $1="$2:${(P)${1}}" + fi +fi diff --git a/zsh/.zsh/functions/add_to_list b/zsh/.zsh/functions/add_to_list new file mode 100644 index 0000000..801e662 --- /dev/null +++ b/zsh/.zsh/functions/add_to_list @@ -0,0 +1,4 @@ +# -*- mode: sh; -*- +if [[ "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then; else + typeset -g $1="${(P)${1}}:$2" +fi diff --git a/zsh/.zsh/functions/chpwd_show_todo b/zsh/.zsh/functions/chpwd_show_todo new file mode 100644 index 0000000..88ee853 --- /dev/null +++ b/zsh/.zsh/functions/chpwd_show_todo @@ -0,0 +1,7 @@ +# -*- mode: Shell-script -*- + +if [ -e ".toudou" ]; then + toudou +elif [ "$PWD" = "$HOME" ]; then + toudou list -g +fi diff --git a/zsh/.zsh/functions/chpwd_update_git_vars b/zsh/.zsh/functions/chpwd_update_git_vars new file mode 100644 index 0000000..0ef846a --- /dev/null +++ b/zsh/.zsh/functions/chpwd_update_git_vars @@ -0,0 +1,2 @@ +# -*- mode: shell-script -*- +update_current_git_vars diff --git a/zsh/.zsh/functions/emacs-backward-kill-word b/zsh/.zsh/functions/emacs-backward-kill-word new file mode 100644 index 0000000..8453454 --- /dev/null +++ b/zsh/.zsh/functions/emacs-backward-kill-word @@ -0,0 +1,3 @@ +# -*- mode: sh; -*- +local WORDCHARS="${WORDCHARS:s#/#}" +zle backward-delete-word diff --git a/zsh/.zsh/functions/env b/zsh/.zsh/functions/env new file mode 100644 index 0000000..a79fd5d --- /dev/null +++ b/zsh/.zsh/functions/env @@ -0,0 +1,3 @@ +# -*- mode: shell-script -*- + +/usr/bin/env "$@" | grep -v \^LESS_TERMCAP_ diff --git a/zsh/.zsh/functions/get_cnt b/zsh/.zsh/functions/get_cnt new file mode 100644 index 0000000..5fc3d4f --- /dev/null +++ b/zsh/.zsh/functions/get_cnt @@ -0,0 +1,15 @@ +# -*- mode: shell-script -*- + +if [ -n "$1" ]; then + if [ -e "$HOME/.local/share/$1.cnt" ]; then + cnt=$(/bin/cat "$HOME/.local/share/$1.cnt") + fi + + if [ -z "$cnt" ]; then + cnt=0 + fi + + echo $cnt +else + echo "No count name specified" >&2 +fi diff --git a/zsh/.zsh/functions/insert-sudo b/zsh/.zsh/functions/insert-sudo new file mode 100644 index 0000000..4fc68e6 --- /dev/null +++ b/zsh/.zsh/functions/insert-sudo @@ -0,0 +1,5 @@ +# -*- mode: sh; -*- +# Copied and modified from +# http://zshwiki.org/home/code/zle/addsudoorpfexec +BUFFER="sudo $(history -n -1 -1)" +CURSOR=$#BUFFER diff --git a/zsh/.zsh/functions/line b/zsh/.zsh/functions/line new file mode 100644 index 0000000..58f7aed --- /dev/null +++ b/zsh/.zsh/functions/line @@ -0,0 +1,8 @@ +# -*- mode: shell-script; eval: (git-auto-commit-mode 1) -*- + +let start=$(expr $1 + 1) +let width=$(expr $COLUMNS - $2) + +for i in {$start..$width}; do + echo -n \\x2d +done diff --git a/zsh/.zsh/functions/mailcount b/zsh/.zsh/functions/mailcount new file mode 100755 index 0000000..afe6736 --- /dev/null +++ b/zsh/.zsh/functions/mailcount @@ -0,0 +1,7 @@ +#!/bin/zsh + +local _new=`ls "$1"/inbox/new | wc -l` +local _unread=`ls "$1"/inbox/cur | egrep -v "S$" | wc -l` +let _count=$_new+$_unread + +echo -n $_count diff --git a/zsh/.zsh/functions/precmd_maybe_festival b/zsh/.zsh/functions/precmd_maybe_festival new file mode 100644 index 0000000..3f8baa3 --- /dev/null +++ b/zsh/.zsh/functions/precmd_maybe_festival @@ -0,0 +1,15 @@ +cmdstatus=$? + +if [ -n "$__COMMAND_EXECUTING" -a $__COMMAND_EXECUTING -gt 0 \ + -a -n "$__COMMAND_EXEC_TIME" ]; then + __COMMAND_EXECUTING=0 + duration=$(expr $(date +%s) - $__COMMAND_EXEC_TIME) + + if [ $duration -gt 30 ]; then + if [ $cmdstatus -eq 0 ]; then + echo "done" | festival --tts + else + echo "failed" | festival --tts + fi + fi +fi diff --git a/zsh/.zsh/functions/precmd_update_git_vars b/zsh/.zsh/functions/precmd_update_git_vars new file mode 100644 index 0000000..172456a --- /dev/null +++ b/zsh/.zsh/functions/precmd_update_git_vars @@ -0,0 +1,6 @@ +# -*- mode: shell-script -*- + +if [ -n "$__EXECUTED_GIT_COMMAND" ]; then + update_current_git_vars + unset __EXECUTED_GIT_COMMAND +fi diff --git a/zsh/.zsh/functions/precmd_update_updates b/zsh/.zsh/functions/precmd_update_updates new file mode 100644 index 0000000..639fd5c --- /dev/null +++ b/zsh/.zsh/functions/precmd_update_updates @@ -0,0 +1,11 @@ +# -*- mode: shell-script -*- + +if [ -n "$__EXECUTED_PACMAN_COMMAND" ]; then + update_pac_cnt + unset __EXECUTED_PACMAN_COMMAND +fi + +if [ -n "$__EXECUTED_COWER_COMMAND" ]; then + update_aur_cnt + unset __EXECUTED_COWER_COMMAND +fi diff --git a/zsh/.zsh/functions/preexec_update_vars b/zsh/.zsh/functions/preexec_update_vars new file mode 100644 index 0000000..f8c1b44 --- /dev/null +++ b/zsh/.zsh/functions/preexec_update_vars @@ -0,0 +1,16 @@ +# -*- mode: shell-script -*- + +case "$1" in + git*) + __EXECUTED_GIT_COMMAND=1 + ;; + cower*) + __EXECUTED_COWER_COMMAND=1 + ;; + *pacman*) + __EXECUTED_PACMAN_COMMAND=1 + ;; +esac + +__COMMAND_EXEC_TIME=$(date +%s) +__COMMAND_EXECUTING=1 diff --git a/zsh/.zsh/functions/prompt b/zsh/.zsh/functions/prompt new file mode 100644 index 0000000..6fe927b --- /dev/null +++ b/zsh/.zsh/functions/prompt @@ -0,0 +1,15 @@ +# -*- mode: shell-script; eval: (git-auto-commit-mode 1) -*- + +local pac_cnt=$(get_cnt updates) +local aur_cnt=$(get_cnt aur) +local hostname=$(hostname | cut -d . -f 1) + +if [ $pac_cnt -gt 0 -o $aur_cnt -gt 0 ]; then + printf "%s%d%s/%s%d%s:" \ + "%{${fg[cyan]}%}" $pac_cnt "%{${fg[default]}%}" \ + "%{${fg[cyan]}%}" $aur_cnt "%{${fg[default]}%}" +fi + +printf '%s%s%s:%s%s%s%s ' \ + "%{${fg[magenta]}%}" $hostname "%{${fg[default]}%}" \ + "%(?.%{${fg[green]}%}.%{${fg[red]}%})" "%~" "%{${fg[default]}%}" diff --git a/zsh/.zsh/functions/prompt_git_info b/zsh/.zsh/functions/prompt_git_info new file mode 100644 index 0000000..76d889a --- /dev/null +++ b/zsh/.zsh/functions/prompt_git_info @@ -0,0 +1,23 @@ +# -*- mode: shell-script -*- + +if [ -n "$__CURRENT_GIT_BRANCH" ]; then + local s="(" + s+="$__CURRENT_GIT_BRANCH" + case "$__CURRENT_GIT_BRANCH_STATUS" in + ahead) + s+="↑" + ;; + diverged) + s+="↕" + ;; + behind) + s+="↓" + ;; + esac + if [ -n "$__CURRENT_GIT_BRANCH_IS_DIRTY" ]; then + s+="⚡" + fi + s+=")" + + printf " %s%s" "%{${fg[yellow]}%}" $s +fi diff --git a/zsh/.zsh/functions/rprompt b/zsh/.zsh/functions/rprompt new file mode 100644 index 0000000..3392379 --- /dev/null +++ b/zsh/.zsh/functions/rprompt @@ -0,0 +1,4 @@ +# -*- mode: shell-script -*- + +local git_info="$(prompt_git_info)" +printf '%s%s' $git_info "%{${fg[default]}%}" diff --git a/zsh/.zsh/functions/shorten-dir b/zsh/.zsh/functions/shorten-dir new file mode 100644 index 0000000..a630971 --- /dev/null +++ b/zsh/.zsh/functions/shorten-dir @@ -0,0 +1,6 @@ +# -*- mode: sh; -*- +autoload -U regexp-replace + +local curdir=$1 +regexp-replace curdir '(\.?[^./])[^/]+/' '$match/' +echo $curdir diff --git a/zsh/.zsh/functions/update_current_git_vars b/zsh/.zsh/functions/update_current_git_vars new file mode 100644 index 0000000..71f37e7 --- /dev/null +++ b/zsh/.zsh/functions/update_current_git_vars @@ -0,0 +1,30 @@ +# -*- mode: Shell-script -*- +unset __CURRENT_GIT_BRANCH +unset __CURRENT_GIT_BRANCH_STATUS +unset __CURRENT_GIT_BRANCH_IS_DIRTY + +local st="$(git status 2>/dev/null)" +if [[ -n "$st" ]]; then + local -a arr + arr=(${(f)st}) + + if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then + __CURRENT_GIT_BRANCH='no-branch' + else + __CURRENT_GIT_BRANCH="${arr[1][(w)4]}" + fi + + if [[ $arr[2] =~ 'Your branch is' ]]; then + if [[ $arr[2] =~ 'ahead' ]]; then + __CURRENT_GIT_BRANCH_STATUS='ahead' + elif [[ $arr[2] =~ 'devirged' ]]; then + __CURRENT_GIT_BRANCH_STATUS='diverged' + else + __CURRENT_GIT_BRANCH_STATUS='behind' + fi + fi + + if [[ ! $st =~ 'nothing to commit' ]]; then + __CURRENT_GIT_BRANCH_IS_DIRTY='1' + fi +fi diff --git a/zsh/.zsh/functions/venv b/zsh/.zsh/functions/venv new file mode 100644 index 0000000..03ec83d --- /dev/null +++ b/zsh/.zsh/functions/venv @@ -0,0 +1,15 @@ +# -*- mode: sh; -*- +if [ "${#}" -eq 1 ]; then + local venv_activate="$HOME/.virtualenv/$1/bin/activate" + + if [ -r "$venv_activate" ]; then + source $venv_activate + else + echo "$1 is not a know virtual environment" + fi +else + echo "Virtual environments: " + for itm in ~/.virtualenv/*; do + echo " $(basename $itm)" + done +fi diff --git a/zsh/.zsh/functions/welcome b/zsh/.zsh/functions/welcome new file mode 100644 index 0000000..bd6aacd --- /dev/null +++ b/zsh/.zsh/functions/welcome @@ -0,0 +1,10 @@ +# -*- mode: shell-script; eval: (git-auto-commit-mode 1) -*- + +echo " , _ _ _ |" +echo " /#\\ __ _ _ __ ___| |__ | (_)_ __ _ ___ __ |" +echo " /###\\ / _\` | '__/ __| '_ \\| | | '_ \\| | | \\ \\/ / |" +echo " /#####\\ | (_| | | | (__| | | | | | | | | |_| |> < |" +echo " /##,-,##\\ \\__,_|_| \\___|_| |_|_|_|_| |_|\\__,_/_/\\_\\ |" +echo " /##( )##\\ |" +echo " /#.-- --.#\\ A simple, lightweight linux distribution. |" +echo " /\` \`\\ |" diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..5083a19 --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1,155 @@ +# -*- Mode: shell-script; -*- +autoload -Uz add-zsh-hook +autoload -Uz compinit +autoload -U colors +autoload -Uz vcs_info + +# Autoload zsh functions. +fpath=($HOME/.zsh/functions $fpath) +autoload -U $HOME/.zsh/functions/*(:t) + +# Setup variables +HISTFILE=$HOME/.zsh/histfile +HISTSIZE=1000 +SAVEHIST=1000 + +export LESS="iFXRS" +export LESS_TERMCAP_mb=$'\e[1;37m' +export LESS_TERMCAP_md=$'\e[1;37m' +export LESS_TERMCAP_me=$'\e[0m' +export LESS_TERMCAP_se=$'\e[0m' +export LESS_TERMCAP_so=$'\e[1;47;30m' +export LESS_TERMCAP_ue=$'\e[0m' +export LESS_TERMCAP_us=$'\e[0;36m' +export PAGER="less" + +# Aliases +alias alpine="alpine -p ""{imap.gmail.com/ssl/user=tom.willemsen@archlinux.us}remote_pinerc""" +alias evolus-pencil="/usr/lib/evolus-pencil-svn/evolus-pencil.sh" +alias grep="grep --color=always" +alias ls="ls -F --color=always" +alias mysql="mysql --pager" +alias sbcl="rlwrap sbcl" +alias scrot="/usr/bin/scrot -e 'mv \$f ~/pictures/screenshots/'" + +# Suffix aliases +alias -s pdf="zathura" +alias -s xls="libreoffice" + +setopt AUTO_PUSHD # Automatically add to directory stack +setopt CORRECT # Offer to correct my mistakes +setopt EXTENDED_GLOB # Add extra globbing patterns +setopt NOTIFY # Don't wait to show status of jobs +setopt PROMPT_SUBST # Allow for functions in the prompt +setopt HIST_IGNORE_ALL_DUPS # Don't story any duplicate commands + +zstyle :compinstall filename '$HOME/.zshrc' + +# Enable auto-execution of functions +typeset -ga preexec_functions +typeset -ga precmd_functions +typeset -ga chpwd_functions + +add-zsh-hook precmd vcs_info + +zstyle ':vcs_info:*' actionformats '%u%c %B%F{1}%a%f%%b (%F{3}%s%f) %F{5}%r%f:%F{4}%b%f %F{2}%S%f' +zstyle ':vcs_info:*' enable bzr git hg svn +zstyle ':vcs_info:*' formats '%u%c (%F{3}%s%f) %F{5}%r%f:%F{4}%b%f %F{2}%S%f' +zstyle ':vcs_info:*' nvcsformats '%F{2}%~%f' +zstyle ':vcs_info:bzr:*' branchformat '%b' +zstyle ':vcs_info:git:*' check-for-changes 1 +zstyle ':vcs_info:*' stagedstr '%F{2}Δ%f' +zstyle ':vcs_info:*' unstagedstr '%F{1}Δ%f' + +# Set the prompt. +PROMPT='${vcs_info_msg_0_} +%B%(?.%F{2}.%F{1})→%b ' + +# Set terminal name to current running application +case $TERM in + eterm-color*) + # Make {{ansi,multi}-,}term change Emacs' `default-directory' + # and keep track of the current user and host. + precmd () { print -P "\eAnSiTu %n\n\eAnSiTc %~" } + ;; + rxvt*) + precmd () { print -Pn "\e]0;%m: %~\a" } + preexec () { print -Pn "\e]0;%m: $1\a" } + ;; + screen) + # Make screen show the current running command as window title + # or the shell if no command is running. The running command + # is presented as the first sequence of characters without a + # space on the given command line, possibly prefixed with + # `sudo '. + preexec () { print -Pn "\ek$(basename $1 | sed -e 's/^\(\(sudo \)\?[^ ]\+\).*/\1/')\e\\" } + precmd () { print -Pn "\ek$(basename $SHELL)\e\\" } + ;; +esac + +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_DATA_HOME="$HOME/.local/share" + +zle -N emacs-backward-kill-word +zle -N insert-sudo + +# Set terminal keys +bindkey "\e[1~" beginning-of-line +bindkey "\e[4~" end-of-line +bindkey "\e[5~" beginning-of-history +bindkey "\e[6~" end-of-history +bindkey "\e[3~" delete-char +bindkey "\e[2~" quoted-insert +bindkey "\e[5C" forward-word +bindkey "\e0c" emacs-forward-word +bindkey "\e[5D" backward-word +bindkey "\e0d" emacs-backward-word +bindkey "\e\e[C" forward-word +bindkey "\e\e[D" backward-word +## for rxvt +bindkey "\e[8~" end-of-line +bindkey "\e[7~" beginning-of-line +## for non RH/Debian xterm, can't hurt for RH/Debian xterm +bindkey "\e0H" beginning-of-line +bindkey "\e0F" end-of-line +## for freebsd console +bindkey "\e[H" beginning-of-line +bindkey "\e[F" end-of-line + +bindkey "^W" backward-delete-char +bindkey "^\b" emacs-backward-kill-word +bindkey "^[#" insert-sudo + +source /usr/share/zsh/scripts/antigen/antigen.zsh +antigen bundle zsh-users/zsh-syntax-highlighting + +# Show syntax highlighting when we're not running in emacs +if [ -z $EMACS ]; then + # source $HOME/.zsh/syntax-highlighting/zsh-syntax-highlighting.zsh + + ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) + + ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red' + ZSH_HIGHLIGHT_STYLES[builtin]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[function]='fg=blue' + ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue' + ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue' + ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[assign]='fg=yellow' + + ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=red' + ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=yellow' + ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=green' + ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[bracket-level-5]='fg=blue' + ZSH_HIGHLIGHT_STYLES[bracket-level-6]='fg=magenta' +fi + +compinit +colors # Initialize colors. + +# Setup rbenv +eval "$(rbenv init -)" diff --git a/zsh/functions/add-to-list b/zsh/functions/add-to-list deleted file mode 100644 index 18720e0..0000000 --- a/zsh/functions/add-to-list +++ /dev/null @@ -1,10 +0,0 @@ -# -*- mode: sh; -*- -if [[ ! "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then - if [ -n "$3" ]; then - # Append - typeset -g $1="${(P)${1}}:$2" - else - # Prepend - typeset -g $1="$2:${(P)${1}}" - fi -fi diff --git a/zsh/functions/add_to_list b/zsh/functions/add_to_list deleted file mode 100644 index 801e662..0000000 --- a/zsh/functions/add_to_list +++ /dev/null @@ -1,4 +0,0 @@ -# -*- mode: sh; -*- -if [[ "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then; else - typeset -g $1="${(P)${1}}:$2" -fi diff --git a/zsh/functions/chpwd_show_todo b/zsh/functions/chpwd_show_todo deleted file mode 100644 index 88ee853..0000000 --- a/zsh/functions/chpwd_show_todo +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: Shell-script -*- - -if [ -e ".toudou" ]; then - toudou -elif [ "$PWD" = "$HOME" ]; then - toudou list -g -fi diff --git a/zsh/functions/chpwd_update_git_vars b/zsh/functions/chpwd_update_git_vars deleted file mode 100644 index 0ef846a..0000000 --- a/zsh/functions/chpwd_update_git_vars +++ /dev/null @@ -1,2 +0,0 @@ -# -*- mode: shell-script -*- -update_current_git_vars diff --git a/zsh/functions/emacs-backward-kill-word b/zsh/functions/emacs-backward-kill-word deleted file mode 100644 index 8453454..0000000 --- a/zsh/functions/emacs-backward-kill-word +++ /dev/null @@ -1,3 +0,0 @@ -# -*- mode: sh; -*- -local WORDCHARS="${WORDCHARS:s#/#}" -zle backward-delete-word diff --git a/zsh/functions/env b/zsh/functions/env deleted file mode 100644 index a79fd5d..0000000 --- a/zsh/functions/env +++ /dev/null @@ -1,3 +0,0 @@ -# -*- mode: shell-script -*- - -/usr/bin/env "$@" | grep -v \^LESS_TERMCAP_ diff --git a/zsh/functions/get_cnt b/zsh/functions/get_cnt deleted file mode 100644 index 5fc3d4f..0000000 --- a/zsh/functions/get_cnt +++ /dev/null @@ -1,15 +0,0 @@ -# -*- mode: shell-script -*- - -if [ -n "$1" ]; then - if [ -e "$HOME/.local/share/$1.cnt" ]; then - cnt=$(/bin/cat "$HOME/.local/share/$1.cnt") - fi - - if [ -z "$cnt" ]; then - cnt=0 - fi - - echo $cnt -else - echo "No count name specified" >&2 -fi diff --git a/zsh/functions/insert-sudo b/zsh/functions/insert-sudo deleted file mode 100644 index 4fc68e6..0000000 --- a/zsh/functions/insert-sudo +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: sh; -*- -# Copied and modified from -# http://zshwiki.org/home/code/zle/addsudoorpfexec -BUFFER="sudo $(history -n -1 -1)" -CURSOR=$#BUFFER diff --git a/zsh/functions/line b/zsh/functions/line deleted file mode 100644 index 58f7aed..0000000 --- a/zsh/functions/line +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: shell-script; eval: (git-auto-commit-mode 1) -*- - -let start=$(expr $1 + 1) -let width=$(expr $COLUMNS - $2) - -for i in {$start..$width}; do - echo -n \\x2d -done diff --git a/zsh/functions/mailcount b/zsh/functions/mailcount deleted file mode 100755 index afe6736..0000000 --- a/zsh/functions/mailcount +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/zsh - -local _new=`ls "$1"/inbox/new | wc -l` -local _unread=`ls "$1"/inbox/cur | egrep -v "S$" | wc -l` -let _count=$_new+$_unread - -echo -n $_count diff --git a/zsh/functions/precmd_maybe_festival b/zsh/functions/precmd_maybe_festival deleted file mode 100644 index 3f8baa3..0000000 --- a/zsh/functions/precmd_maybe_festival +++ /dev/null @@ -1,15 +0,0 @@ -cmdstatus=$? - -if [ -n "$__COMMAND_EXECUTING" -a $__COMMAND_EXECUTING -gt 0 \ - -a -n "$__COMMAND_EXEC_TIME" ]; then - __COMMAND_EXECUTING=0 - duration=$(expr $(date +%s) - $__COMMAND_EXEC_TIME) - - if [ $duration -gt 30 ]; then - if [ $cmdstatus -eq 0 ]; then - echo "done" | festival --tts - else - echo "failed" | festival --tts - fi - fi -fi diff --git a/zsh/functions/precmd_update_git_vars b/zsh/functions/precmd_update_git_vars deleted file mode 100644 index 172456a..0000000 --- a/zsh/functions/precmd_update_git_vars +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: shell-script -*- - -if [ -n "$__EXECUTED_GIT_COMMAND" ]; then - update_current_git_vars - unset __EXECUTED_GIT_COMMAND -fi diff --git a/zsh/functions/precmd_update_updates b/zsh/functions/precmd_update_updates deleted file mode 100644 index 639fd5c..0000000 --- a/zsh/functions/precmd_update_updates +++ /dev/null @@ -1,11 +0,0 @@ -# -*- mode: shell-script -*- - -if [ -n "$__EXECUTED_PACMAN_COMMAND" ]; then - update_pac_cnt - unset __EXECUTED_PACMAN_COMMAND -fi - -if [ -n "$__EXECUTED_COWER_COMMAND" ]; then - update_aur_cnt - unset __EXECUTED_COWER_COMMAND -fi diff --git a/zsh/functions/preexec_update_vars b/zsh/functions/preexec_update_vars deleted file mode 100644 index f8c1b44..0000000 --- a/zsh/functions/preexec_update_vars +++ /dev/null @@ -1,16 +0,0 @@ -# -*- mode: shell-script -*- - -case "$1" in - git*) - __EXECUTED_GIT_COMMAND=1 - ;; - cower*) - __EXECUTED_COWER_COMMAND=1 - ;; - *pacman*) - __EXECUTED_PACMAN_COMMAND=1 - ;; -esac - -__COMMAND_EXEC_TIME=$(date +%s) -__COMMAND_EXECUTING=1 diff --git a/zsh/functions/prompt b/zsh/functions/prompt deleted file mode 100644 index 6fe927b..0000000 --- a/zsh/functions/prompt +++ /dev/null @@ -1,15 +0,0 @@ -# -*- mode: shell-script; eval: (git-auto-commit-mode 1) -*- - -local pac_cnt=$(get_cnt updates) -local aur_cnt=$(get_cnt aur) -local hostname=$(hostname | cut -d . -f 1) - -if [ $pac_cnt -gt 0 -o $aur_cnt -gt 0 ]; then - printf "%s%d%s/%s%d%s:" \ - "%{${fg[cyan]}%}" $pac_cnt "%{${fg[default]}%}" \ - "%{${fg[cyan]}%}" $aur_cnt "%{${fg[default]}%}" -fi - -printf '%s%s%s:%s%s%s%s ' \ - "%{${fg[magenta]}%}" $hostname "%{${fg[default]}%}" \ - "%(?.%{${fg[green]}%}.%{${fg[red]}%})" "%~" "%{${fg[default]}%}" diff --git a/zsh/functions/prompt_git_info b/zsh/functions/prompt_git_info deleted file mode 100644 index 76d889a..0000000 --- a/zsh/functions/prompt_git_info +++ /dev/null @@ -1,23 +0,0 @@ -# -*- mode: shell-script -*- - -if [ -n "$__CURRENT_GIT_BRANCH" ]; then - local s="(" - s+="$__CURRENT_GIT_BRANCH" - case "$__CURRENT_GIT_BRANCH_STATUS" in - ahead) - s+="↑" - ;; - diverged) - s+="↕" - ;; - behind) - s+="↓" - ;; - esac - if [ -n "$__CURRENT_GIT_BRANCH_IS_DIRTY" ]; then - s+="⚡" - fi - s+=")" - - printf " %s%s" "%{${fg[yellow]}%}" $s -fi diff --git a/zsh/functions/rprompt b/zsh/functions/rprompt deleted file mode 100644 index 3392379..0000000 --- a/zsh/functions/rprompt +++ /dev/null @@ -1,4 +0,0 @@ -# -*- mode: shell-script -*- - -local git_info="$(prompt_git_info)" -printf '%s%s' $git_info "%{${fg[default]}%}" diff --git a/zsh/functions/shorten-dir b/zsh/functions/shorten-dir deleted file mode 100644 index a630971..0000000 --- a/zsh/functions/shorten-dir +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: sh; -*- -autoload -U regexp-replace - -local curdir=$1 -regexp-replace curdir '(\.?[^./])[^/]+/' '$match/' -echo $curdir diff --git a/zsh/functions/update_current_git_vars b/zsh/functions/update_current_git_vars deleted file mode 100644 index 71f37e7..0000000 --- a/zsh/functions/update_current_git_vars +++ /dev/null @@ -1,30 +0,0 @@ -# -*- mode: Shell-script -*- -unset __CURRENT_GIT_BRANCH -unset __CURRENT_GIT_BRANCH_STATUS -unset __CURRENT_GIT_BRANCH_IS_DIRTY - -local st="$(git status 2>/dev/null)" -if [[ -n "$st" ]]; then - local -a arr - arr=(${(f)st}) - - if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then - __CURRENT_GIT_BRANCH='no-branch' - else - __CURRENT_GIT_BRANCH="${arr[1][(w)4]}" - fi - - if [[ $arr[2] =~ 'Your branch is' ]]; then - if [[ $arr[2] =~ 'ahead' ]]; then - __CURRENT_GIT_BRANCH_STATUS='ahead' - elif [[ $arr[2] =~ 'devirged' ]]; then - __CURRENT_GIT_BRANCH_STATUS='diverged' - else - __CURRENT_GIT_BRANCH_STATUS='behind' - fi - fi - - if [[ ! $st =~ 'nothing to commit' ]]; then - __CURRENT_GIT_BRANCH_IS_DIRTY='1' - fi -fi diff --git a/zsh/functions/venv b/zsh/functions/venv deleted file mode 100644 index 03ec83d..0000000 --- a/zsh/functions/venv +++ /dev/null @@ -1,15 +0,0 @@ -# -*- mode: sh; -*- -if [ "${#}" -eq 1 ]; then - local venv_activate="$HOME/.virtualenv/$1/bin/activate" - - if [ -r "$venv_activate" ]; then - source $venv_activate - else - echo "$1 is not a know virtual environment" - fi -else - echo "Virtual environments: " - for itm in ~/.virtualenv/*; do - echo " $(basename $itm)" - done -fi diff --git a/zsh/functions/welcome b/zsh/functions/welcome deleted file mode 100644 index bd6aacd..0000000 --- a/zsh/functions/welcome +++ /dev/null @@ -1,10 +0,0 @@ -# -*- mode: shell-script; eval: (git-auto-commit-mode 1) -*- - -echo " , _ _ _ |" -echo " /#\\ __ _ _ __ ___| |__ | (_)_ __ _ ___ __ |" -echo " /###\\ / _\` | '__/ __| '_ \\| | | '_ \\| | | \\ \\/ / |" -echo " /#####\\ | (_| | | | (__| | | | | | | | | |_| |> < |" -echo " /##,-,##\\ \\__,_|_| \\___|_| |_|_|_|_| |_|\\__,_/_/\\_\\ |" -echo " /##( )##\\ |" -echo " /#.-- --.#\\ A simple, lightweight linux distribution. |" -echo " /\` \`\\ |" diff --git a/zshrc b/zshrc deleted file mode 100644 index 6eea812..0000000 --- a/zshrc +++ /dev/null @@ -1,151 +0,0 @@ -# -*- Mode: shell-script; -*- -autoload -Uz add-zsh-hook -autoload -Uz compinit -autoload -U colors -autoload -Uz vcs_info - -# Autoload zsh functions. -fpath=($HOME/.zsh/functions $fpath) -autoload -U $HOME/.zsh/functions/*(:t) - -# Setup variables -HISTFILE=$HOME/.zsh/histfile -HISTSIZE=1000 -SAVEHIST=1000 - -export LESS="iFXRS" -export LESS_TERMCAP_mb=$'\e[1;37m' -export LESS_TERMCAP_md=$'\e[1;37m' -export LESS_TERMCAP_me=$'\e[0m' -export LESS_TERMCAP_se=$'\e[0m' -export LESS_TERMCAP_so=$'\e[1;47;30m' -export LESS_TERMCAP_ue=$'\e[0m' -export LESS_TERMCAP_us=$'\e[0;36m' -export PAGER="less" - -# Aliases -alias alpine="alpine -p ""{imap.gmail.com/ssl/user=tom.willemsen@archlinux.us}remote_pinerc""" -alias evolus-pencil="/usr/lib/evolus-pencil-svn/evolus-pencil.sh" -alias grep="grep --color=always" -alias ls="ls -F --color=always" -alias mysql="mysql --pager" -alias sbcl="rlwrap sbcl" - -# Suffix aliases -alias -s pdf="zathura" -alias -s xls="libreoffice" - -setopt AUTO_PUSHD # Automatically add to directory stack -setopt CORRECT # Offer to correct my mistakes -setopt EXTENDED_GLOB # Add extra globbing patterns -setopt NOTIFY # Don't wait to show status of jobs -setopt PROMPT_SUBST # Allow for functions in the prompt -setopt HIST_IGNORE_ALL_DUPS # Don't story any duplicate commands - -zstyle :compinstall filename '$HOME/.zshrc' - -# Enable auto-execution of functions -typeset -ga preexec_functions -typeset -ga precmd_functions -typeset -ga chpwd_functions - -add-zsh-hook precmd vcs_info - -zstyle ':vcs_info:*' actionformats '%B%F{1}%a%f%%b (%F{3}%s%f) %F{5}%r%f:%F{4}%b%f %F{2}%S%f' -zstyle ':vcs_info:*' enable bzr git hg svn -zstyle ':vcs_info:*' formats '(%F{3}%s%f) %F{5}%r%f:%F{4}%b%f %F{2}%S%f' -zstyle ':vcs_info:*' nvcsformats '%F{2}%~%f' -zstyle ':vcs_info:bzr:*' branchformat '%b' - -# Set the prompt. -PROMPT='${vcs_info_msg_0_} -%B%F{6}%m%b%f %B%(?.%F{2}+.%F{1}-)%b> ' - -# Set terminal name to current running application -case $TERM in - eterm-color*) - # Make {{ansi,multi}-,}term change Emacs' `default-directory' - # and keep track of the current user and host. - precmd () { print -P "\eAnSiTu %n\n\eAnSiTc %~" } - ;; - rxvt*) - precmd () { print -Pn "\e]0;%~\a" } - preexec () { print -Pn "\e]0;$1\a" } - ;; - screen) - # Make screen show the current running command as window title - # or the shell if no command is running. The running command - # is presented as the first sequence of characters without a - # space on the given command line, possibly prefixed with - # `sudo '. - preexec () { print -Pn "\ek$(basename $1 | sed -e 's/^\(\(sudo \)\?[^ ]\+\).*/\1/')\e\\" } - precmd () { print -Pn "\ek$(basename $SHELL)\e\\" } - ;; -esac - -export XDG_CACHE_HOME="$HOME/.cache" -export XDG_CONFIG_HOME="$HOME/.config" -export XDG_DATA_HOME="$HOME/.local/share" - -zle -N emacs-backward-kill-word -zle -N insert-sudo - -# Set terminal keys -bindkey "\e[1~" beginning-of-line -bindkey "\e[4~" end-of-line -bindkey "\e[5~" beginning-of-history -bindkey "\e[6~" end-of-history -bindkey "\e[3~" delete-char -bindkey "\e[2~" quoted-insert -bindkey "\e[5C" forward-word -bindkey "\e0c" emacs-forward-word -bindkey "\e[5D" backward-word -bindkey "\e0d" emacs-backward-word -bindkey "\e\e[C" forward-word -bindkey "\e\e[D" backward-word -## for rxvt -bindkey "\e[8~" end-of-line -bindkey "\e[7~" beginning-of-line -## for non RH/Debian xterm, can't hurt for RH/Debian xterm -bindkey "\e0H" beginning-of-line -bindkey "\e0F" end-of-line -## for freebsd console -bindkey "\e[H" beginning-of-line -bindkey "\e[F" end-of-line - -bindkey "^W" backward-delete-char -bindkey "^\b" emacs-backward-kill-word -bindkey "^[#" insert-sudo - -source /usr/share/zsh/scripts/antigen/antigen.zsh -antigen bundle zsh-users/zsh-syntax-highlighting - -# Show syntax highlighting when we're not running in emacs -if [ -z $EMACS ]; then - # source $HOME/.zsh/syntax-highlighting/zsh-syntax-highlighting.zsh - - ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) - - ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red' - ZSH_HIGHLIGHT_STYLES[builtin]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[function]='fg=blue' - ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue' - ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue' - ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[assign]='fg=yellow' - - ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=red' - ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=yellow' - ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=green' - ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[bracket-level-5]='fg=blue' - ZSH_HIGHLIGHT_STYLES[bracket-level-6]='fg=magenta' -fi - -compinit -colors # Initialize colors. - -# Setup rbenv -eval "$(rbenv init -)" -- cgit v1.3-2-g0d8e