mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-26 16:28:58 +01:00
Merge pull request #4652 from psprint/master
znt: updated README.md, twice as fast searching
This commit is contained in:
commit
c82f49e734
@ -105,7 +105,8 @@ colorize output of the tools, via their config files (check out e.g. n-cd.conf,
|
|||||||
it uses this).
|
it uses this).
|
||||||
|
|
||||||
## Performance
|
## Performance
|
||||||
ZNT is fastest with Zsh before 5.0.8 and starting from 5.2 (the version yet to
|
ZNT are fastest with Zsh before 5.0.8 and starting from 5.2 (the version yet to
|
||||||
be released).
|
be released).
|
||||||
|
|
||||||
# vim:filetype=conf
|
|
||||||
|
vim:filetype=conf
|
||||||
|
@ -261,18 +261,15 @@ while (( 1 )); do
|
|||||||
local search_buffer="${NLIST_SEARCH_BUFFER%% ##}"
|
local search_buffer="${NLIST_SEARCH_BUFFER%% ##}"
|
||||||
search_buffer="${search_buffer## ##}"
|
search_buffer="${search_buffer## ##}"
|
||||||
search_buffer="${search_buffer//(#m)[][*?|#~^()><\\]/\\$MATCH}"
|
search_buffer="${search_buffer//(#m)[][*?|#~^()><\\]/\\$MATCH}"
|
||||||
|
local search_pattern=""
|
||||||
|
local colsearch_pattern=""
|
||||||
if [ -n "$search_buffer" ]; then
|
if [ -n "$search_buffer" ]; then
|
||||||
# Patterns will be *foo*~^*bar* and foo|bar)
|
# Patterns will be *foo*~^*bar* and foo|bar)
|
||||||
local search_pattern="${search_buffer// ##/*~^*}"
|
search_pattern="${search_buffer// ##/*~^*}"
|
||||||
local colsearch_pattern="${search_buffer// ##/|}"
|
colsearch_pattern="${search_buffer// ##/|}"
|
||||||
|
|
||||||
list=( "${(@M)list:#(#i)*$~search_pattern*}" )
|
list=( "${(@M)list:#(#i)*$~search_pattern*}" )
|
||||||
last_element="$#list"
|
last_element="$#list"
|
||||||
|
|
||||||
local red=$'\x1b[00;31m' reset=$'\x1b[00;00m'
|
|
||||||
col_list=( "${(@)list//(#mi)($~colsearch_pattern)/$red${MATCH}$reset}" )
|
|
||||||
else
|
|
||||||
col_list=( "$list[@]" )
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Called after processing list
|
# Called after processing list
|
||||||
@ -286,7 +283,12 @@ while (( 1 )); do
|
|||||||
|
|
||||||
if [ "$prev_start_idx" -ne "$NLIST_FROM_WHAT_IDX_LIST_IS_SHOWN" ]; then
|
if [ "$prev_start_idx" -ne "$NLIST_FROM_WHAT_IDX_LIST_IS_SHOWN" ]; then
|
||||||
prev_start_idx="$NLIST_FROM_WHAT_IDX_LIST_IS_SHOWN"
|
prev_start_idx="$NLIST_FROM_WHAT_IDX_LIST_IS_SHOWN"
|
||||||
disp_list=( "${(@)col_list[NLIST_FROM_WHAT_IDX_LIST_IS_SHOWN, end_idx]}" )
|
disp_list=( "${(@)list[NLIST_FROM_WHAT_IDX_LIST_IS_SHOWN, end_idx]}" )
|
||||||
|
|
||||||
|
if [ -n "$colsearch_pattern" ]; then
|
||||||
|
local red=$'\x1b[00;31m' reset=$'\x1b[00;00m'
|
||||||
|
disp_list=( "${(@)disp_list//(#mi)($~colsearch_pattern)/$red${MATCH}$reset}" )
|
||||||
|
fi
|
||||||
|
|
||||||
# We have display list, lets replace newlines with "\n" when needed (1/3)
|
# We have display list, lets replace newlines with "\n" when needed (1/3)
|
||||||
[ "$NLIST_REPLACE_NEWLINES" -eq 1 ] && disp_list=( "${(@)disp_list//$'\n'/\\n}" )
|
[ "$NLIST_REPLACE_NEWLINES" -eq 1 ] && disp_list=( "${(@)disp_list//$'\n'/\\n}" )
|
||||||
|
Loading…
Reference in New Issue
Block a user