refactor(zsh): Simplify code
This commit is contained in:
parent
93b32a8f43
commit
7b2924075f
1 changed files with 14 additions and 19 deletions
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/env zsh
|
#!/bin/env zsh
|
||||||
|
|
||||||
autoload -Uz vcs_info
|
autoload -Uz vcs_info
|
||||||
precmd_vcs_info() { vcs_info }
|
precmd_vcs_info() { vcs_info }
|
||||||
precmd_functions+=( precmd_vcs_info )
|
precmd_functions+=( precmd_vcs_info )
|
||||||
|
@ -10,36 +11,30 @@ zstyle ':vcs_info:git:*' formats '%F{5} %b %F{1}%c%u %f'
|
||||||
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
|
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
|
||||||
zstyle ':vcs_info:*' enable git
|
zstyle ':vcs_info:*' enable git
|
||||||
+vi-git-untracked() {
|
+vi-git-untracked() {
|
||||||
|
# Return early if we're not in git dir
|
||||||
|
[ $(git rev-parse --is-inside-work-tree 2> /dev/null) = 'true' ] || return 0
|
||||||
|
|
||||||
# git status ahead
|
# git status ahead
|
||||||
if [[ $(git status --porcelain -b | grep '^## [^ ]\+ .*ahead') ]]; then
|
[ $(git status --porcelain -b | grep '^## [^ ]\+ .*ahead') ] && \
|
||||||
hook_com[unstaged]+='%F{1}⇡%f'
|
hook_com[unstaged]+='%F{1}⇡%f'
|
||||||
fi
|
|
||||||
|
|
||||||
# git untracked
|
# git untracked
|
||||||
if [ $(git rev-parse --is-inside-work-tree 2> /dev/null) = 'true' ] && \
|
[ $(git ls-files --other --directory --exclude-standard --no-empty-directory | sed q | wc -l | tr -d ' ') = 1 ] && \
|
||||||
[ $(git ls-files --other --directory --exclude-standard --no-empty-directory | sed q | wc -l | tr -d ' ') = 1 ] ; then
|
|
||||||
hook_com[unstaged]+='%F{1}?%f'
|
hook_com[unstaged]+='%F{1}?%f'
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function zle-line-init zle-keymap-select {
|
function zle-line-init zle-keymap-select {
|
||||||
PS1="
|
PS1="""
|
||||||
%B%F{blue}%~ \$vcs_info_msg_0_
|
%B%F{blue}%~ \$vcs_info_msg_0_
|
||||||
%F{green}${${KEYMAP/vicmd/N }/(main|viins)/}$>%f%b "
|
%F{green}${${KEYMAP/vicmd/N }/(main|viins)/}$>%f%b """
|
||||||
PS2="%B%F{blue}?>%f%b "
|
PS2="%B%F{blue}?>%f%b "
|
||||||
# RPS1="${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}"
|
# RPS1="${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}"
|
||||||
# RPS2=$RPS1
|
# RPS2=$RPS1
|
||||||
|
|
||||||
if [[ ${KEYMAP} == vicmd ]] ||
|
if [[ ${KEYMAP} == vicmd ]] || [[ $1 = 'block' ]]; then
|
||||||
[[ $1 = 'block' ]]; then
|
echo -ne '\e[1 q'
|
||||||
echo -ne '\e[1 q'
|
elif [[ ${KEYMAP} == main ]] || [[ ${KEYMAP} == viins ]] || [[ ${KEYMAP} = '' ]] || [[ $1 = 'beam' ]]; then
|
||||||
|
echo -ne '\e[5 q'
|
||||||
elif [[ ${KEYMAP} == main ]] ||
|
|
||||||
[[ ${KEYMAP} == viins ]] ||
|
|
||||||
[[ ${KEYMAP} = '' ]] ||
|
|
||||||
[[ $1 = 'beam' ]]; then
|
|
||||||
echo -ne '\e[5 q'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
zle reset-prompt
|
zle reset-prompt
|
||||||
|
@ -48,7 +43,7 @@ zle -N zle-line-init
|
||||||
zle -N zle-keymap-select
|
zle -N zle-keymap-select
|
||||||
|
|
||||||
_fix_cursor() {
|
_fix_cursor() {
|
||||||
echo -ne '\e[5 q'
|
echo -ne '\e[5 q'
|
||||||
}
|
}
|
||||||
|
|
||||||
precmd () {
|
precmd () {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue