summaryrefslogtreecommitdiff
path: root/dot-oh-my-zsh/custom/plugins/zsh-autocomplete/scripts/.autocomplete.widget
blob: c646bc652f4e1547b06cae4ff9a785246ee33987 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/zsh
zmodload zsh/complist
typeset -g ZSH_AUTOSUGGEST_MANUAL_REBIND=1
typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=.autosuggest-orig-

.autocomplete.widget.precmd() {
  emulate -L zsh
  setopt $_autocomplete__func_opts[@]

  local -P tab_style=
  for tab_style in complete-word menu-complete menu-select; do
    .autocomplete.widget.c "$tab_style" "$tab_style" complete-word
  done
  .autocomplete.widget.c reverse-menu-complete reverse-menu-complete complete-word

  unfunction .autocomplete.widget.c .autocomplete.widget.z
}

.autocomplete.widget.c() {
  builtin zle -C "$1" "$2" .autocomplete.$3.completion-widget
}

.autocomplete.widget.z() {
  builtin zle -N "$1" .autocomplete.$2.zle-widget
}

.autocomplete.widget.c list-expand complete-word list-expand
.autocomplete.widget.c _history_search menu-select history-search
.autocomplete.widget.z history-search history-search
.autocomplete.widget.z up-line-or-search up-line-or-search
.autocomplete.widget.z down-line-or-select down-line-or-select