X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=zsh%2F.zshrc;h=9f6f8349156e3de96b7539f9ee5688c4422e3674;hb=39b5baba0927ca04a7da4ae99355d21a2534efb9;hp=99f9b0841063581d820143e65e65f86e60bf742f;hpb=a95a68295fbc3c828e74561249b70a3fd01379de;p=dotfiles.git diff --git a/zsh/.zshrc b/zsh/.zshrc index 99f9b08..9f6f834 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -5,6 +5,7 @@ setopt INTERACTIVE_COMMENTS setopt GLOB_STAR_SHORT GLOB_DOTS EXTENDED_GLOB setopt NO_NOMATCH setopt AUTO_PUSHD PUSHD_IGNORE_DUPS +setopt PIPE_FAIL setopt RM_STAR_SILENT export LISTMAX=9999 @@ -208,3 +209,38 @@ ZSH_HIGHLIGHT_STYLES[path_pathseparator]="fg=white,bold,underline" . ~/work/zsh-autosuggestions/zsh-autosuggestions.zsh ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=cyan" # }}} + +# fzf {{{ +alias -g PE="| pe" + +export FZF_DEFAULT_OPTS="--color=16 --info=inline --preview='less -N -S {}'" + +_fzf_find() { + find . \( -path "*/\.git" -o -fstype devfs -o -fstype procfs \) -prune \ + -o -type d -print $@ 2>/dev/null | cut -b3- +} + +export FZF_CTRL_T_COMMAND="_fzf_find -o -type f -print -o -type l -print" +export FZF_ALT_C_COMMAND=_fzf_find + +_fzf_git_status() { + local item + git status --short | fzf -m --preview="" | while read item ; do + item=`echo $item | cut -w -f2-` + echo -n "$item " + done + local ret=$? + print + return $ret +} +fzf-git-status-widget() { + LBUFFER="${LBUFFER}$(_fzf_git_status)" + local ret=$? + zle reset-prompt + return $ret +} +zle -N fzf-git-status-widget +bindkey "^Y" fzf-git-status-widget + +. ~/work/fzf/shell/key-bindings.zsh +# }}}