From 3f8e85f3f8d676f2156849755b29a24cc82ac28a Mon Sep 17 00:00:00 2001 From: Part Cyborg Date: Mon, 1 Oct 2018 05:11:52 -0700 Subject: [PATCH] Support anchoring the substring to search for Add a new config variable that will anchor the history search to the beginning of the command. Note that the default behavior does not change with this --- zsh-history-substring-search.zsh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zsh-history-substring-search.zsh b/zsh-history-substring-search.zsh index 0edf85e..a0f3af9 100644 --- a/zsh-history-substring-search.zsh +++ b/zsh-history-substring-search.zsh @@ -246,7 +246,13 @@ _history-substring-search-begin() { # Escape and join query parts with wildcard character '*' as seperator # `(j:CHAR:)` join array to string with CHAR as seperator # - local search_pattern="*${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*" + local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*" + # + # Support anchoring history search to the beginning of the command + # + if [[ -z $HISTORY_SUBSTRING_SEARCH_ANCHORED ]]; then + search_pattern="*${search_pattern}" + fi # # Find all occurrences of the search pattern in the history file.