mirror of
https://github.com/zsh-users/zsh-history-substring-search
synced 2024-09-20 16:19:04 +02:00
Merge pull request #97 from partcyborg/master
Also rename `HISTORY_SUBSTRING_SEARCH_PREFIX` variable by adding "ED" suffix so that it reads more like a special mode of operation rather than an instruction to prepend a specified prefix to matched commands.
This commit is contained in:
commit
4abed97b6e
10
README.md
10
README.md
|
@ -141,11 +141,11 @@ default values.
|
|||
value, causes this script to perform a fuzzy search by words, matching in
|
||||
given order e.g. `ab c` will match `*ab*c*`
|
||||
|
||||
* `HISTORY_SUBSTRING_SEARCH_PREFIX` is a global variable that defines
|
||||
how the command history will be searched for your query. If set to a non-empty
|
||||
value, only history prefixed by your query will be matched. For example,
|
||||
if this variable is empty, `ls` will match `ls -l` and `echo ls`; if it is
|
||||
non-empty, `ls` will only match `ls -l`.
|
||||
* `HISTORY_SUBSTRING_SEARCH_PREFIXED` is a global variable that defines how
|
||||
the command history will be searched for your query. If set to a non-empty
|
||||
value, your query will be matched against the start of each history entry.
|
||||
For example, if this variable is empty, `ls` will match `ls -l` and `echo
|
||||
ls`; if it is non-empty, `ls` will only match `ls -l`.
|
||||
|
||||
* `HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE` is a global variable that defines
|
||||
whether all search results returned are _unique_. If set to a non-empty
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
: ${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i'}
|
||||
: ${HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=''}
|
||||
: ${HISTORY_SUBSTRING_SEARCH_FUZZY=''}
|
||||
: ${HISTORY_SUBSTRING_SEARCH_PREFIX=''}
|
||||
: ${HISTORY_SUBSTRING_SEARCH_PREFIXED=''}
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# declare internal global variables
|
||||
|
@ -248,7 +248,13 @@ _history-substring-search-begin() {
|
|||
# `(j:CHAR:)` join array to string with CHAR as seperator
|
||||
#
|
||||
local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*"
|
||||
test -z "$HISTORY_SUBSTRING_SEARCH_PREFIX" && search_pattern="*$search_pattern"
|
||||
|
||||
#
|
||||
# Support anchoring history search to the beginning of the command
|
||||
#
|
||||
if [[ -z $HISTORY_SUBSTRING_SEARCH_PREFIXED ]]; then
|
||||
search_pattern="*${search_pattern}"
|
||||
fi
|
||||
|
||||
#
|
||||
# Find all occurrences of the search pattern in the history file.
|
||||
|
|
Loading…
Reference in a new issue