about summary refs log tree commit diff
path: root/Functions/Zle/up-line-or-beginning-search
blob: 22d5183be5cc4b53c5b42520b8971e20678f66de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Like up-line-or-search, but uses the whole line prefix up to the
# cursor position for searching backwards.

if [[ $LBUFFER == *$'\n'* ]]; then
  zle .up-line-or-history
  __searching=''
elif [[ -n $PREBUFFER ]] && 
    zstyle -t ':zle:up-line-or-beginning-search' edit-buffer
then
  zle .push-line-or-edit
else
  [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor
  __savecursor=$CURSOR
  __searching=$WIDGET
  zle .history-beginning-search-backward
  zstyle -T ':zle:up-line-or-beginning-search' leave-cursor &&
      zle .end-of-line
fi