You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
59 lines
1.7 KiB
# |
|
# Integrates history-substring-search into Prezto. |
|
# |
|
# Authors: |
|
# Suraj N. Kurapati <sunaku@gmail.com> |
|
# Sorin Ionescu <sorin.ionescu@gmail.com> |
|
# |
|
|
|
# Load dependencies. |
|
pmodload 'editor' |
|
|
|
# Source module files. |
|
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1 |
|
|
|
# |
|
# Search |
|
# |
|
|
|
zstyle -s ':prezto:module:history-substring-search:color' found \ |
|
'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND' \ |
|
|| HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold' |
|
|
|
zstyle -s ':prezto:module:history-substring-search:color' not-found \ |
|
'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND' \ |
|
|| HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold' |
|
|
|
zstyle -s ':prezto:module:history-substring-search' globbing-flags \ |
|
'HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS' \ |
|
|| HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i' |
|
|
|
if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then |
|
HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}" |
|
fi |
|
|
|
if ! zstyle -t ':prezto:module:history-substring-search' color; then |
|
unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_{FOUND,NOT_FOUND} |
|
fi |
|
|
|
# |
|
# Key Bindings |
|
# |
|
|
|
if [[ -n "$key_info" ]]; then |
|
# Emacs |
|
bindkey -M emacs "$key_info[Control]P" history-substring-search-up |
|
bindkey -M emacs "$key_info[Control]N" history-substring-search-down |
|
|
|
# Vi |
|
bindkey -M vicmd "k" history-substring-search-up |
|
bindkey -M vicmd "j" history-substring-search-down |
|
|
|
# Emacs and Vi |
|
for keymap in 'emacs' 'viins'; do |
|
bindkey -M "$keymap" "$key_info[Up]" history-substring-search-up |
|
bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down |
|
done |
|
|
|
unset keymap |
|
fi
|
|
|