mirror of
https://github.com/zdharma-continuum/history-search-multi-word
synced 2024-11-21 19:03:11 +00:00
*ctx*: Correct handling of the list boundaries
This commit is contained in:
parent
7997c62697
commit
ab2cb3444b
2 changed files with 5 additions and 3 deletions
|
@ -39,7 +39,7 @@ typeset -gi __hsmw_page_start_idx __hsmw_prev_offset __hsmw_recedit_trap_execute
|
||||||
typeset -ga __hsmw_hcw_found
|
typeset -ga __hsmw_hcw_found
|
||||||
|
|
||||||
# Context variables
|
# Context variables
|
||||||
typeset -gi __hsmw_ctx __hsmw_ctx_idx __hsmw_ctx_text_idx __hsmw_ctx_which
|
typeset -gi __hsmw_ctx __hsmw_ctx_idx __hsmw_ctx_prev_idx __hsmw_ctx_text_idx __hsmw_ctx_which
|
||||||
typeset -gi __hsmw_ctx_page_start_idx __hsmw_ctx_prev_offset
|
typeset -gi __hsmw_ctx_page_start_idx __hsmw_ctx_prev_offset
|
||||||
typeset -g __hsmw_ctx_to_search
|
typeset -g __hsmw_ctx_to_search
|
||||||
typeset -ga __hsmw_ctx_disp_list
|
typeset -ga __hsmw_ctx_disp_list
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# -*- Mode: sh; sh-indentation: 4; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
# -*- Mode: sh; sh-indentation: 4; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||||
# vim:ft=zsh:sw=4:sts=4:et
|
# vim:ft=zsh:sw=4:sts=4:et
|
||||||
|
|
||||||
|
__hsmw_ctx_prev_idx="$__hsmw_ctx_idx"
|
||||||
|
|
||||||
[[ "$WIDGET" = *-word ]] && (( __hsmw_ctx_idx -- ))
|
[[ "$WIDGET" = *-word ]] && (( __hsmw_ctx_idx -- ))
|
||||||
[[ "$WIDGET" = *-backwards ]] && (( __hsmw_ctx_idx ++ ))
|
[[ "$WIDGET" = *-backwards ]] && (( __hsmw_ctx_idx ++ ))
|
||||||
[[ "$WIDGET" = *-pforwards ]] && (( __hsmw_ctx_idx = __hsmw_ctx_idx - __hsmw_page_size ))
|
[[ "$WIDGET" = *-pforwards ]] && (( __hsmw_ctx_idx = __hsmw_ctx_idx - __hsmw_page_size ))
|
||||||
|
@ -91,8 +93,8 @@ _hsmw_ctx_main() {
|
||||||
|
|
||||||
integer page_size="$__hsmw_page_size"
|
integer page_size="$__hsmw_page_size"
|
||||||
[[ "$page_size" -gt "$max_index" ]] && page_size="$max_index"
|
[[ "$page_size" -gt "$max_index" ]] && page_size="$max_index"
|
||||||
[[ "$the_index" -le 0 ]] && the_index="$max_index"
|
[[ "$the_index" -le 0 ]] && { __hsmw_ctx_idx="$__hsmw_ctx_prev_idx"; the_index=1; }
|
||||||
[[ "$the_index" -gt "$max_index" ]] && the_index=1
|
[[ "$the_index" -gt "$(( max_index - 1))" ]] && { __hsmw_ctx_idx="$__hsmw_ctx_prev_idx"; the_index="$(( max_index - 1 ))"; }
|
||||||
integer page_start_idx=$(( ((the_index-1)/page_size)*page_size+1 ))
|
integer page_start_idx=$(( ((the_index-1)/page_size)*page_size+1 ))
|
||||||
integer on_page_idx=$(( page_size - (the_index - page_start_idx) ))
|
integer on_page_idx=$(( page_size - (the_index - page_start_idx) ))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue