2012-02-01 04:37:51 +00:00
|
|
|
#
|
2012-09-03 20:08:39 +00:00
|
|
|
# Integrates history-substring-search into Prezto.
|
2012-02-01 04:37:51 +00:00
|
|
|
#
|
|
|
|
# Authors:
|
|
|
|
# Suraj N. Kurapati <sunaku@gmail.com>
|
|
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
|
|
#
|
2011-08-26 06:58:19 +00:00
|
|
|
|
2012-08-28 00:29:39 +00:00
|
|
|
# Load dependencies.
|
2012-09-03 20:08:39 +00:00
|
|
|
pmodload 'editor'
|
2012-08-28 00:29:39 +00:00
|
|
|
|
2012-08-28 00:32:50 +00:00
|
|
|
# Source module files.
|
2020-05-02 18:21:27 +00:00
|
|
|
if (( ! $+functions[history-substring-search-up] )); then
|
|
|
|
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
|
|
|
|
fi
|
2011-08-26 06:58:19 +00:00
|
|
|
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
2012-12-23 21:54:43 +00:00
|
|
|
# Search
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
|
|
|
|
2012-12-23 21:54:43 +00:00
|
|
|
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'
|
|
|
|
|
2012-09-03 20:08:39 +00:00
|
|
|
if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then
|
2013-05-03 12:56:13 +00:00
|
|
|
HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}"
|
2011-08-26 06:58:19 +00:00
|
|
|
fi
|
|
|
|
|
2012-09-03 20:08:39 +00:00
|
|
|
if ! zstyle -t ':prezto:module:history-substring-search' color; then
|
2012-04-08 19:04:16 +00:00
|
|
|
unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_{FOUND,NOT_FOUND}
|
2011-08-26 06:58:19 +00:00
|
|
|
fi
|
2011-08-31 03:16:15 +00:00
|
|
|
|
2023-05-19 15:41:29 +00:00
|
|
|
if zstyle -t ':prezto:module:history-substring-search' fuzzy; then
|
|
|
|
HISTORY_SUBSTRING_SEARCH_FUZZY=1
|
|
|
|
fi
|
|
|
|
|
2023-09-12 04:28:38 +00:00
|
|
|
if zstyle -t ':prezto:module:history-substring-search' unique; then
|
2023-05-19 15:41:29 +00:00
|
|
|
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1
|
|
|
|
fi
|
|
|
|
|
2023-09-12 04:28:38 +00:00
|
|
|
if zstyle -t ':prezto:module:history-substring-search' prefixed; then
|
|
|
|
HISTORY_SUBSTRING_SEARCH_PREFIXED=1
|
|
|
|
fi
|
|
|
|
|
2013-04-25 21:51:27 +00:00
|
|
|
#
|
|
|
|
# Key Bindings
|
|
|
|
#
|
|
|
|
|
2012-12-23 21:54:43 +00:00
|
|
|
if [[ -n "$key_info" ]]; then
|
2013-04-25 21:51:27 +00:00
|
|
|
# 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
|
2017-04-05 04:24:50 +00:00
|
|
|
|
|
|
|
unset keymap
|
2013-04-25 21:51:27 +00:00
|
|
|
fi
|