Skip to content

Commit

Permalink
sorin-ionescuGH-19: Respect the HIST_FIND_NO_DUPS option.
Browse files Browse the repository at this point in the history
This is the best way I've found to remove duplicate entries while
keeping the most recent occurence, but I'm not a ZSH expert. There may
be a more efficient way.
  • Loading branch information
parkercoates committed Mar 16, 2015
1 parent fd31074 commit 13033d8
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions zsh-history-substring-search.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,15 @@ function _history-substring-search-begin() {
#
_history_substring_search_matches=(${(kOa)history[(R)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)*${_history_substring_search_query_escaped}*]})

# Remove duplicate entries (keeping on the most recent) if HIST_FIND_NO_DUPS is set.
if [[ -o HIST_FIND_NO_DUPS ]]; then
local -A unique_matches
for n in $_history_substring_search_matches; do
unique_matches[${history[$n]}]="$n"
done
_history_substring_search_matches=(${(@n)unique_matches})
fi

#
# Define the range of values that $_history_substring_search_match_index
# can take: [0, $_history_substring_search_matches_count_plus].
Expand Down

0 comments on commit 13033d8

Please sign in to comment.