Aloxaf / fzf-tab

Replace zsh's default completion selection menu with fzf!
MIT License
2.98k stars 90 forks source link

[BUG] No completion for some builtin commands? #430

Closed SPiCaRiA closed 2 months ago

SPiCaRiA commented 2 months ago

Describe the bug

Completion for many builtin commands such as history and fc are lost when fzf-tab is enabled.

I can make sure:

To Reproduce

Steps to reproduce the behavior:

  1. Setup the environment for testing.
  2. Type history - and press <TAB>, no completion shown.
  3. Now comment out the last line in the .zshrc (i.e., don't load fzf-tab), and do the same thing, builtin completion list is shown.
Screenshot 2024-04-18 at 21 27 21

Expected behavior

Display completion list in fzf for these commands.

Environment:

Minimal zshrc

# Make sure fzf is visible in $PATH, deleted when testing on Arch
eval "$(/opt/homebrew/bin/brew shellenv)"
autoload -U compinit; compinit
. ~/test-fzf-tab/fzf-tab.plugin.zsh

Clone fzf-tab to ~/test-fzf-tab:

git clone https://github.com/Aloxaf/fzf-tab ~/test-fzf-tab
SPiCaRiA commented 2 months ago

Log is too long for the issue body so I'll put it here. I typed history - and press C-x . to generate the log, hope that's the correct way.

Log Details ``` zsh 5.9 fzf-tab: v1.1.1.r0.gbf3ef55 fzf-tab-debug:typeset:12: no such variable: FZF_DEFAULT_OPTS /opt/homebrew/bin/fzf 0.50.0 (brew) +fzf-tab-complete:2> local -i _ftb_continue=1 _ftb_continue_last=0 _ftb_accept=0 ret=0 +fzf-tab-complete:5> echoti civis +fzf-tab-complete:6> (( _ftb_continue )) +fzf-tab-complete:7> local _ftb_choices=( ) _ftb_compcap=( ) _ftb_finish=0 +fzf-tab-complete:8> _ftb_continue=0 +fzf-tab-complete:9> local IN_FZF_TAB=1 +fzf-tab-complete:11> zle .fzf-tab-orig-expand-or-complete +-ftb-complete:1> local -Ua _ftb_groups +-ftb-complete:2> local choice choices _ftb_curcontext continuous_trigger print_query accept_line bs=$'\C-B' nul=$'\C-@' +-ftb-complete:3> local ret=0 +-ftb-complete:6> (( 0 )) +-ftb-complete:7> COLUMNS=500 +-ftb-complete:7> _ftb__main_complete +_ftb__main_complete:1> local IFS=$' \t\n\C-@' +_ftb__main_complete:2> eval $'local -A _comp_caller_options;\n _comp_caller_options=(${(kv)options[@]});\n setopt localoptions localtraps localpatterns ${_comp_options[@]};\n local IFS=$\' \\t\\r\\n\\0\';\n builtin enable -p \\| \\~ \\( \\? \\* \\[ \\< \\^ \\# 2>&-;\n exec local -A _comp_caller_options +(eval):2> _comp_caller_options=( posixargzero off autolist on shortrepeat off printexitvalue off kshzerosubscript off histreduceblanks off chaselinks off extendedglob off localloops off histnostore off automenu on globcomplete off unset on listpacked off promptsubst off shwordsplit off pathdirs off kshtypeset off listtypes on warncreateglobal off promptbang off dotglob off braceexpand on listbeep on correctall off privileged off numericglobsort off histverify off trackall on histsubstpattern off globstarshort off cbases off rcquotes off posixaliases off histfindnodups off bashautolist off sharehistory off overstrike off kshautoload off incappendhistory off appendcreate off promptcr on mailwarn off pushdignoredups off interactive on ignoreeof off globsubst off rematchpcre off monitor on histsavebycopy on clobberempty off histbeep on debugbeforecmd on magicequalsubst off rmstarsilent off posixjobs off hashcmds on posixtraps off extendedhistory off notify on kshoptionprint off histexpiredupsfirst off glob on posixcd off braceccl off badpattern on longlistjobs off banghist on dvorak off alwaystoend off hashall on warnnestedvar off globalexport on ksharrays off correct off cdsilent off autonamedirs off histexpand on typesetsilent off rmstarwait off histnofunctions off autoparamslash on trapsasync off sunkeyboardhack off promptsp on histsavenodups off autocd off allexport off posixidentifiers off cshjunkiehistory off autopushd off completeinword off completealiases off aliases on autocontinue off appendhistory on aliasfuncdef off singlelinezle off hashlistall on ignoreclosebraces off recexact off localoptions off interactivecomments off errexit off cshjunkiequotes off markdirs off hashdirs on cdablevars off rcexpandparam off vi off printeightbit off multifuncdef on xtrace on login on cshjunkieloops off histappend on histignorespace off evallineno on shfileexpansion off rcs on functionargzero on errreturn off combiningchars on histignoredups off histfcntllock off beep on autoremoveslash on hup on globdots off checkrunningjobs on autoparamkeys on shnullcmd off multibyte on zle on promptpercent on flowcontrol on continueonerror off incappendhistorytime off autoresume off globassign off caseglob on shortloops on bsdecho off cprecedences off log on transientrprompt off verbose off localpatterns off ignorebraces off pipefail off equals on menucomplete off cshnullglob off casematch on promptvars off histallowclobber off bareglobqual on shinstdin on restricted off pushdminus off nullglob off chasedots off mailwarning off listambiguous on cshnullcmd off bashrematch off octalzeroes off forcefloat off exec on multios on emacs off nomatch on pathscript off localtraps off stdin on onecmd off kshglob off clobber on posixbuiltins off alwayslastprompt on pushdtohome off histignorealldups off hashexecutablesonly off pushdsilent off casepaths off shoptionletters off physical off sourcetrace off typesettounset off histlexwords off bgnice on globalrcs on posixstrings off checkjobs on shglob off singlecommand off listrowsfirst off ) +(eval):3> setopt localoptions localtraps localpatterns bareglobqual extendedglob glob multibyte multifuncdef nullglob rcexpandparam unset NO_allexport NO_aliases NO_cshnullglob NO_cshjunkiequotes NO_errexit NO_errreturn NO_globassign NO_globsubst NO_histsubstpattern NO_ignorebraces NO_ignoreclosebraces NO_kshglob NO_ksharrays NO_kshtypeset NO_markdirs NO_octalzeroes NO_posixbuiltins NO_posixidentifiers NO_shwordsplit NO_shglob NO_typesettounset NO_warnnestedvar NO_warncreateglobal +(eval):4> local IFS=$' \t\C-M\n\C-@' +(eval):5> enable -p '|' '~' '(' '?' '*' '[' '<' '^' '#' +(eval):7> trap - ZERR +(eval):8> local -a reply +(eval):9> local REPLY +(eval):10> local REPORTTIME +(eval):11> unset REPORTTIME +_ftb__main_complete:3> local func funcs ret=1 tmp _compskip format nm call match min max i num _completers _completer _completer_num curtag _comp_force_list _matchers _matcher _c_matcher _matcher_num _comp_tags _comp_mesg mesg str context state state_descr line opt_args val_args curcontext='' _last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel _tags_level=0 _saved_exact='' _saved_lastprompt=yes _saved_list=ambiguous _saved_insert=automenu-unambiguous _saved_colors='' _saved_colors_set=0 _ambiguous_color='' +_ftb__main_complete:4> local _comp_priv_prefix +_ftb__main_complete:5> unset _comp_priv_prefix +_ftb__main_complete:6> local -a precommands +_ftb__main_complete:7> local -ar builtin_precommands=( - builtin eval exec nocorrect noglob time ) +_ftb__main_complete:8> typeset -U _lastdescr _comp_ignore _comp_colors +_ftb__main_complete:10> [[ -z '' ]] +_ftb__main_complete:10> curcontext=::: +_ftb__main_complete:11> zstyle -s :completion::::: insert-tab tmp +_ftb__main_complete:11> tmp=yes +_ftb__main_complete:12> [[ yes = *pending(|[[:blank:]]*) || yes = *pending=(#b)([0-9]##)(|[[:blank:]]*) ]] +_ftb__main_complete:17> [[ automenu-unambiguous = tab* ]] +_ftb__main_complete:28> [[ '' = \* ]] +_ftb__main_complete:34> [[ -z '' ]] +_ftb__main_complete:36> [[ -o equals ]] +_ftb__main_complete:36> compset -P 1 '=' +_ftb__main_complete:39> [[ - != */* && - = \~ ]] +_ftb__main_complete:53> _setup default +_setup:3> local val nm=0 +_setup:5> [[ 1 -eq 1 ]] +_setup:5> 2=default +_setup:7> zstyle -a :completion:::::default list-colors val +_setup:21> [[ default = default ]] +_setup:22> unset ZLS_COLORS ZLS_COLOURS +_setup:27> zstyle -s :completion:::::default show-ambiguity val +_setup:32> zstyle -t :completion:::::default list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion:::::default list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion:::::default last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion:::::default accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion:::::default menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion:::::default force-list val +_ftb__main_complete:54> _def_menu_style=( '' ) +_ftb__main_complete:55> _last_menu_style=( ) +_ftb__main_complete:56> zstyle -s :completion:::::default list-prompt tmp +_ftb__main_complete:61> zstyle -s :completion:::::default select-prompt tmp +_ftb__main_complete:66> zstyle -s :completion:::::default select-scroll tmp +_ftb__main_complete:71> (( 0 )) +_ftb__main_complete:86> zstyle -a :completion::::: completer _completers +_ftb__main_complete:86> _completers=( _complete _ignored ) +_ftb__main_complete:88> _completer_num=1 +_ftb__main_complete:89> integer SECONDS=0 +_ftb__main_complete:100> funcs=( ) +_ftb__main_complete:101> compprefuncs=( ) +_ftb__main_complete:106> tmp=_complete +_ftb__main_complete:108> [[ -n '' ]] +_ftb__main_complete:111> [[ _complete = *:-* ]] +_ftb__main_complete:115> [[ _complete = *:* ]] +_ftb__main_complete:120> _completer=complete +_ftb__main_complete:122> curcontext=:complete:: +_ftb__main_complete:123> zstyle -t :completion::complete::: show-completer +_ftb__main_complete:124> zstyle -a :completion::complete::: matcher-list _matchers +_ftb__main_complete:124> _matchers=( '' ) +_ftb__main_complete:125> _matcher_num=1 +_ftb__main_complete:126> _matcher='' +_ftb__main_complete:127> _c_matcher= +_ftb__main_complete:129> [[ '' == +* ]] +_ftb__main_complete:133> _matcher='' +_ftb__main_complete:135> _comp_mesg='' +_ftb__main_complete:136> [[ -n '' ]] +_ftb__main_complete:143> _complete +_complete:7> local comp name oldcontext ret=1 service +_complete:8> typeset -T curcontext=:complete:: ccarray +_complete:10> oldcontext=:complete:: +_complete:14> [[ -n '' ]] +_complete:96> comp=_first +_complete:97> [[ -n _first ]] +_complete:98> service=-first- +_complete:99> ccarray[3]=-first- +_complete:100> eval _first +(eval):1> _first +_complete:100> ret=0 +_complete:101> [[ '' = all ]] +_complete:110> [[ -n '' ]] +_complete:114> ret=1 +_complete:115> [[ command = command ]] +_complete:116> curcontext=:complete:: +_complete:117> _normal -s +_normal:3> local _comp_command1 _comp_command2 _comp_command precommand +_normal:4> local -A opts +_normal:6> zparseopts -A opts -D - P 'p+:-=precommand' s +_normal:7> (( 1 )) +_normal:8> (( 0 )) +_normal:9> (( 0 )) +_normal:15> [[ -o BANG_HIST && - = !*: || - = "!*: ]] +_normal:28> [[ CURRENT -eq 1 ]] +_normal:37> _set_command +_set_command:6> local command +_set_command:8> command=history +_set_command:10> [[ -z history ]] +_set_command:12> (( 1 + 0 )) +_set_command:13> _comp_command1=history +_set_command:14> _comp_command=history +_normal:39> _dispatch -s history history '' -default- +_dispatch:3> local comp pat val name i ret=1 _compskip='' +_dispatch:4> local curcontext=:complete:: service str noskip +_dispatch:5> local -a match mbegin mend +_dispatch:9> [[ -s = -s ]] +_dispatch:10> noskip=yes +_dispatch:11> shift +_dispatch:14> [[ -z yes ]] +_dispatch:16> curcontext=:complete:history: +_dispatch:18> shift +_dispatch:22> [[ '' != (all|*patterns*) ]] +_dispatch:24> str=history +_dispatch:25> [[ -n history ]] +_dispatch:26> service=history +_dispatch:24> str= +_dispatch:25> [[ -n '' ]] +_dispatch:25> continue +_dispatch:24> str=-default- +_dispatch:25> [[ -n -default- ]] +_dispatch:26> service=-default- +_dispatch:45> ret=1 +_dispatch:46> str=history +_dispatch:47> [[ -n history ]] +_dispatch:51> str=history +_dispatch:52> name=history +_dispatch:53> comp=_fc +_dispatch:54> service=history +_dispatch:56> [[ -z _fc ]] +_dispatch:56> break +_dispatch:61> [[ -n _fc && history != -default- ]] +_dispatch:62> _compskip=patterns +_dispatch:63> eval _fc +(eval):1> _fc +_fc:3> local curcontext=:complete:history: state state_descr line expl ret=1 +_fc:4> local num cmd sep +_fc:5> local -a events +_fc:6> typeset -A opt_args +_fc:7> local fc_common fc_hist fc_r +_fc:10> local cur=0 +_fc:11> words=( history - ) +_fc:12> (( CURRENT -= cur )) +_fc:14> fc_common=( -s -S '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' ) +_fc:22> [[ -n '' ]] +_fc:29> [[ -n '' ]] +_fc:32> fc_common=( -C -s -S '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' '(-)1:first event:->events' '2:last event:->events' ) +_fc:37> fc_hist=( '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' '(-A -R -W -e -a -p -P)-D[print elapsed times]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' '(- *)-P[pop history from stack]' ) +_fc:51> fc_r='(-A -R -W -e)-l[list resulting commands on stdout]' +_fc:53> case history (history) +_fc:55> _arguments -C -s -S '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' '(-)1:first event:->events' '2:last event:->events' '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' '(-A -R -W -e -a -p -P)-D[print elapsed times]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' '(- *)-P[pop history from stack]' +_arguments:6> local long cmd=history descr odescr mesg subopts opt opt2 usecc autod +_arguments:7> local oldcontext=:complete:history: hasopts rawret optarg singopt alwopt +_arguments:8> local setnormarg start rest +_arguments:9> local -a match mbegin mend +_arguments:10> integer opt_args_use_NUL_separators=0 +_arguments:12> subopts=( ) +_arguments:13> singopt=( ) +_arguments:14> [[ -C = -([AMO]*|[0CRSWnsw]) ]] +_arguments:15> case -C (-0) +_arguments:15> case -C (-C) +_arguments:17> usecc=yes +_arguments:17> shift +_arguments:14> [[ -s = -([AMO]*|[0CRSWnsw]) ]] +_arguments:15> case -s (-0) +_arguments:15> case -s (-C) +_arguments:15> case -s (-O) +_arguments:15> case -s (-O*) +_arguments:15> case -s (-R) +_arguments:15> case -s (-n) +_arguments:15> case -s (-w) +_arguments:15> case -s (-W) +_arguments:15> case -s (-[Ss]) +_arguments:24> singopt+=( -s ) +_arguments:24> shift +_arguments:14> [[ -S = -([AMO]*|[0CRSWnsw]) ]] +_arguments:15> case -S (-0) +_arguments:15> case -S (-C) +_arguments:15> case -S (-O) +_arguments:15> case -S (-O*) +_arguments:15> case -S (-R) +_arguments:15> case -S (-n) +_arguments:15> case -S (-w) +_arguments:15> case -S (-W) +_arguments:15> case -S (-[Ss]) +_arguments:24> singopt+=( -S ) +_arguments:24> shift +_arguments:14> [[ '(-A -R -W -p -P)-I[include internal (new) events only]' = -([AMO]*|[0CRSWnsw]) ]] +_arguments:30> [[ '(-A -R -W -p -P)-I[include internal (new) events only]' = : ]] +_arguments:31> singopt+=( : ) +_arguments:33> [[ - = [-+] ]] +_arguments:33> alwopt=arg +_arguments:35> long=0 +_arguments:36> (( long )) +_arguments:325> zstyle -s :completion::complete:history::options auto-description autod +_arguments:327> (( 16 )) +_arguments:327> comparguments -i '' -s -S : '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' '(-)1:first event:->events' '2:last event:->events' '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' '(-A -R -W -e -a -p -P)-D[print elapsed times]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' '(- *)-P[pop history from stack]' +_arguments:328> local action noargs aret expl local tried ret=1 +_arguments:329> local next direct odirect equal single matcher matched ws tmp1 tmp2 tmp3 +_arguments:330> local opts subc tc prefix suffix descrs actions subcs anum +_arguments:331> local origpre=- origipre='' nm=0 +_arguments:333> comparguments -D descrs actions subcs +_arguments:334> comparguments -O next direct odirect equal +_arguments:335> opts=yes +_arguments:336> _tags argument-1 options +_tags:3> local prev +_tags:10> [[ argument-1 = -- ]] +_tags:15> (( 2 )) +_tags:19> local curcontext=:complete:history: order tag nodef tmp +_tags:21> [[ argument-1 = -C?* ]] +_tags:24> [[ argument-1 = -C ]] +_tags:29> [[ argument-1 = -(|-) ]] +_tags:31> zstyle -a :completion::complete:history:: group-order order +_tags:36> comptags -i :complete:history: argument-1 options +_tags:40> [[ -n '' ]] +_tags:43> zstyle -a :completion::complete:history:: tag-order order +_tags:44> (( ! 2 )) +_tags:45> order=( '(|*-)argument-* (|*-)option[-+]* values' options ) +_tags:47> tag=(|*-)argument-* (|*-)option[-+]* values +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (-) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (!*) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (?*) +_tags:51> comptry -m '(|*-)argument-* (|*-)option[-+]* values' +_tags:47> tag=options +_tags:48> case options (-) +_tags:48> case options (!*) +_tags:48> case options (?*) +_tags:51> comptry -m options +_tags:55> [[ -z '' ]] +_tags:55> comptry argument-1 options +_tags:60> comptags -T +_tags:62> return +_arguments:358> comparguments -M matcher +_arguments:360> context=( ) +_arguments:361> state=( ) +_arguments:362> state_descr=( ) +_arguments:364> true +_arguments:365> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_arguments:366> anum=1 +_arguments:367> [[ -z '' ]] +_arguments:368> [[ anum -le 1 ]] +_arguments:370> action='->events' +_arguments:371> descr='first event' +_arguments:372> subc=argument-1 +_arguments:374> [[ argument-1 = argument* && -n '' ]] +_arguments:378> [[ -n '' ]] +_arguments:378> _requested argument-1 +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R argument-1 +_requested:9> [[ 1 -gt 3 ]] +_requested:11> [[ 1 -gt 1 ]] +_requested:14> return 0 +_arguments:380> curcontext=:complete:history:argument-1 +_arguments:382> _description argument-1 expl 'first event' +_description:3> local name nopt xopt format gname hidden hide match opts tag +_description:4> local -a ign gropt sort +_description:5> local -a match mbegin mend +_description:7> opts=( ) +_description:9> xopt=( -X ) +_description:10> nopt=( ) +_description:11> zparseopts -K -D -a nopt 1 2 'V=gropt' 'J=ign' 'x=xopt' +_description:13> 3='first event' +_description:14> [[ -n 'first event' ]] +_description:14> _lastdescr=( '' 'first event' ) +_description:16> zstyle -s :completion::complete:history:argument-1:argument-1 group-name gname +_description:19> _setup argument-1 -default- +_setup:3> local val nm=0 +_setup:5> [[ 2 -eq 1 ]] +_setup:7> zstyle -a :completion::complete:history:argument-1:argument-1 list-colors val +_setup:21> [[ argument-1 = default ]] +_setup:27> zstyle -s :completion::complete:history:argument-1:argument-1 show-ambiguity val +_setup:32> zstyle -t :completion::complete:history:argument-1:argument-1 list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion::complete:history:argument-1:argument-1 list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion::complete:history:argument-1:argument-1 last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion::complete:history:argument-1:argument-1 accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion::complete:history:argument-1:argument-1 menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion::complete:history:argument-1:argument-1 force-list val +_description:21> name=expl +_description:23> zstyle -s :completion::complete:history:argument-1:argument-1 format format +_description:24> zstyle -s :completion::complete:history:argument-1:descriptions format format +_description:26> zstyle -s :completion::complete:history:argument-1:argument-1 hidden hidden +_description:31> zstyle -s :completion::complete:history:argument-1:argument-1 matcher match +_description:33> [[ -n '' ]] +_description:37> [[ -z '' ]] +_description:38> zstyle -a :completion::complete:history:argument-1:argument-1 sort sort +_description:39> zstyle -a :completion::complete:history:argument-1: sort sort +_description:51> [[ -z '' ]] +_description:52> zstyle -a :completion::complete:history:argument-1:argument-1 ignored-patterns _comp_ignore +_description:53> _comp_ignore=( ) +_description:55> zstyle -s :completion::complete:history:argument-1:argument-1 ignore-line hidden +_description:71> (( 0 )) +_description:76> tag=argument-1 +_description:78> shift 2 +_description:79> [[ -z 'first event' ]] +_description:81> [[ -n '' ]] +_description:92> [[ -n '' ]] +_description:99> [[ -n '' ]] +_description:102> set -A expl -J -default- +_description:106> (( 0 )) +_description:107> local fakestyle descr +_description:108> fakestyle=fake +_description:109> zstyle -a :completion::complete:history:argument-1:argument-1 fake match +_description:110> continue +_description:108> fakestyle=fake-always +_description:109> zstyle -a :completion::complete:history:argument-1:argument-1 fake-always match +_description:110> continue +_description:123> return 0 +_arguments:384> [[ '->events' = \=\ * ]] +_arguments:390> [[ '->events' = -\>* ]] +_arguments:391> action=events +_arguments:392> (( ! 0 )) +_arguments:393> comparguments -W line opt_args 0 +_arguments:394> state+=( events ) +_arguments:395> state_descr+=( 'first event' ) +_arguments:396> [[ -n yes ]] +_arguments:397> curcontext=:complete:history:argument-1 +_arguments:401> compstate[restore]='' +_arguments:402> aret=yes +_arguments:368> [[ anum -le 1 ]] +_arguments:474> _requested options +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R options +_requested:16> return 1 +_arguments:536> [[ -n '' ]] +_arguments:365> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_arguments:366> anum=1 +_arguments:367> [[ -z '' ]] +_arguments:368> [[ anum -le 1 ]] +_arguments:370> action='->events' +_arguments:371> descr='first event' +_arguments:372> subc=argument-1 +_arguments:374> [[ argument-1 = argument* && -n '' ]] +_arguments:378> [[ -n '' ]] +_arguments:378> _requested argument-1 +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R argument-1 +_requested:16> return 1 +_arguments:368> [[ anum -le 1 ]] +_arguments:474> _requested options +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R options +_requested:9> [[ 1 -gt 3 ]] +_requested:11> [[ 1 -gt 1 ]] +_requested:14> return 0 +_arguments:475> [[ -z '' && -z '' && -z yes || - = - ]] +_arguments:478> zstyle -T :completion::complete:history:options prefix-needed +_arguments:479> [[ - = [-+]* ]] +_arguments:480> local prevpre=- previpre='' prevcontext=:complete:history:argument-1 +_arguments:482> curcontext=:complete:history:options +_arguments:484> hasopts=yes +_arguments:486> PREFIX=- +_arguments:487> IPREFIX='' +_arguments:489> [[ -z arg || -z '' ]] +_arguments:490> comparguments -s single +_arguments:526> next+=( ) +_arguments:527> _describe -O option next -M 'r:|[_-]=* r:|=*' -- direct -S '' -M 'r:|[_-]=* r:|=*' -- equal '-qS=' -M 'r:|[_-]=* r:|=*' +_describe:12> local _opt _expl _tmpm _tmpd _mlen _noprefix +_describe:13> local _type=values _descr _ret=1 _showd _nm _hide _args _grp _sep +_describe:14> local csl=ambiguous csl2 +_describe:15> local _oargv _argv _new _strs _mats _opts _i _try=0 +_describe:16> local OPTIND OPTARG +_describe:17> local -a _jvx12 +_describe:21> getopts oOt:12JVx _opt +_describe:22> case O (o) +_describe:22> case O (O) +_describe:26> _type=options +_describe:27> _noprefix=1 +_describe:21> getopts oOt:12JVx _opt +_describe:36> shift 1 +_describe:37> unset _opt +_describe:39> [[ options1 = options ]] +_describe:45> zstyle -T :completion::complete:history:options:options verbose +_describe:45> _showd=yes +_describe:47> zstyle -s :completion::complete:history:options:options list-separator _sep +_describe:47> _sep=-- +_describe:48> zstyle -s :completion::complete:history:options:options max-matches-width _mlen +_describe:49> _mlen=250 +_describe:51> _descr=option +_describe:52> shift +_describe:54> [[ -n yes ]] +_describe:55> zstyle -T :completion::complete:history:options:options list-grouped +_describe:59> _grp=( ) +_describe:62> [[ options = options ]] +_describe:63> zstyle -t :completion::complete:history:options:options prefix-hidden +_describe:66> _tags options +_tags:3> local prev +_tags:10> [[ options = -- ]] +_tags:15> (( 1 )) +_tags:19> local curcontext=:complete:history:options order tag nodef tmp +_tags:21> [[ options = -C?* ]] +_tags:24> [[ options = -C ]] +_tags:29> [[ options = -(|-) ]] +_tags:31> zstyle -a :completion::complete:history:options: group-order order +_tags:36> comptags -i :complete:history:options options +_tags:40> [[ -n '' ]] +_tags:43> zstyle -a :completion::complete:history:options: tag-order order +_tags:44> (( ! 1 )) +_tags:45> order=( '(|*-)argument-* (|*-)option[-+]* values' options ) +_tags:47> tag=(|*-)argument-* (|*-)option[-+]* values +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (-) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (!*) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (?*) +_tags:51> comptry -m '(|*-)argument-* (|*-)option[-+]* values' +_tags:47> tag=options +_tags:48> case options (-) +_tags:48> case options (!*) +_tags:48> case options (?*) +_tags:51> comptry -m options +_tags:55> [[ -z '' ]] +_tags:55> comptry options +_tags:60> comptags -T +_tags:62> return +_describe:67> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_describe:68> _next_label options _expl option +_next_label:3> local __gopt __descr __spec +_next_label:5> __gopt=( ) +_next_label:6> zparseopts -D -a __gopt 1 2 V J x +_next_label:8> comptags -A options curtag __spec +_next_label:9> (( 13 > _tags_level )) +_next_label:9> _comp_tags='' +_next_label:10> _tags_level=13 +_next_label:11> _comp_tags=' options ' +_next_label:12> [[ options = *[^\\]:* ]] +_next_label:18> _description options _expl option +_description:3> local name nopt xopt format gname hidden hide match opts tag +_description:4> local -a ign gropt sort +_description:5> local -a match mbegin mend +_description:7> opts=( ) +_description:9> xopt=( -X ) +_description:10> nopt=( ) +_description:11> zparseopts -K -D -a nopt 1 2 'V=gropt' 'J=ign' 'x=xopt' +_description:13> 3=option +_description:14> [[ -n option ]] +_description:14> _lastdescr=( '' 'first event' option ) +_description:16> zstyle -s :completion::complete:history:options:options group-name gname +_description:19> _setup options -default- +_setup:3> local val nm=0 +_setup:5> [[ 2 -eq 1 ]] +_setup:7> zstyle -a :completion::complete:history:options:options list-colors val +_setup:21> [[ options = default ]] +_setup:27> zstyle -s :completion::complete:history:options:options show-ambiguity val +_setup:32> zstyle -t :completion::complete:history:options:options list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion::complete:history:options:options list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion::complete:history:options:options last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion::complete:history:options:options accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion::complete:history:options:options menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion::complete:history:options:options force-list val +_description:21> name=_expl +_description:23> zstyle -s :completion::complete:history:options:options format format +_description:24> zstyle -s :completion::complete:history:options:descriptions format format +_description:26> zstyle -s :completion::complete:history:options:options hidden hidden +_description:31> zstyle -s :completion::complete:history:options:options matcher match +_description:33> [[ -n '' ]] +_description:37> [[ -z '' ]] +_description:38> zstyle -a :completion::complete:history:options:options sort sort +_description:39> zstyle -a :completion::complete:history:options: sort sort +_description:51> [[ -z '' ]] +_description:52> zstyle -a :completion::complete:history:options:options ignored-patterns _comp_ignore +_description:53> _comp_ignore=( ) +_description:55> zstyle -s :completion::complete:history:options:options ignore-line hidden +_description:71> (( 0 )) +_description:76> tag=options +_description:78> shift 2 +_description:79> [[ -z option ]] +_description:81> [[ -n '' ]] +_description:92> [[ -n '' ]] +_description:99> [[ -n '' ]] +_description:102> set -A _expl -J -default- +_description:106> (( 0 )) +_description:107> local fakestyle descr +_description:108> fakestyle=fake +_description:109> zstyle -a :completion::complete:history:options:options fake match +_description:110> continue +_description:108> fakestyle=fake-always +_description:109> zstyle -a :completion::complete:history:options:options fake-always match +_description:110> continue +_description:123> return 0 +_next_label:19> set -A _expl -J -default- +_next_label:22> return 0 +_describe:70> (( 0 )) +_describe:121> [[ -n yes ]] +_describe:122> compdescribe -I '' 250 '-- ' _expl next -M 'r:|[_-]=* r:|=*' -- direct -S '' -M 'r:|[_-]=* r:|=*' -- equal '-qS=' -M 'r:|[_-]=* r:|=*' +_describe:127> compstate[list]=ambiguous +_describe:129> compdescribe -g csl2 _args _tmpm _tmpd +_describe:131> compstate[list]='ambiguous ' +_describe:132> [[ -n '' ]] +_describe:134> compadd -l -M 'r:|[_-]=* r:|=*' -J -default- -d _tmpd -a _tmpm +compadd:1> local -A apre hpre dscrs _oad _mesg +compadd:2> local -a isfile _opts __ expl +compadd:3> zparseopts -E -a _opts 'P:=apre' 'p:=hpre' 'd:=dscrs' 'X+:=expl' 'O:=_oad' 'A:=_oad' 'D:=_oad' 'f=isfile' i: S: s: I: 'x:=_mesg' r: R: W: F: M+: E: q e Q n U C 'J:=__' 'V:=__' 'a=__' 'l=__' 'k=__' 'o=__' '1=__' '2=__' +compadd:4> _ftb_curcontext=complete:history:options +compadd:5> (( 0 != 0 || ! IN_FZF_TAB )) +compadd:6> -ftb-zstyle -m disabled-on any +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:options disabled-on any +compadd:9> -ftb-zstyle -m disabled-on files +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:options disabled-on files +compadd:16> local -a __hits __dscr +compadd:17> (( 1 == 1 )) +compadd:19> __dscr=( '-I -- include internal (new) events only' '-L -- include local events only' '-r -- reverse order of the events' '-n -- suppress line numbers' '-m -- treat argument as a pattern' '-d -- print time-stamps' '-f -- mm/dd/yyyy format time-stamps' '-E -- dd.mm.yyyy format time-stamps' '-i -- yyyy-mm-dd format time-stamps' '-t -- print time-stamps in specified format' '-D -- print elapsed times' '-a -- with -p, automatically pop history on function return' '-p -- push current history to stack' '-P -- pop history from stack' ) +compadd:21> compadd -A __hits -D __dscr -l -M 'r:|[_-]=* r:|=*' -J -default- -d _tmpd -a _tmpm +compadd:22> local ret=1 +compadd:23> (( 14 == 0 )) +compadd:31> expl='' +compadd:32> [[ -n '' ]] +compadd:33> local -a keys=( apre hpre PREFIX SUFFIX IPREFIX ISUFFIX ) +compadd:34> local key expanded __tmp_value=$'<\C-@>' +compadd:35> key=apre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=hpre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=PREFIX +compadd:37> expanded=- +compadd:38> [[ -n - ]] +compadd:40> __tmp_value+=$'\C-@PREFIX\C-@-' +compadd:35> key=SUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=IPREFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=ISUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:43> [[ -n '' ]] +compadd:47> [[ -n '' ]] +compadd:51> _opts+=( ) +compadd:52> __tmp_value+=$'\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*' +compadd:53> (( 0 )) +compadd:57> local dscr word i +compadd:58> i=1 +compadd:60> word=-I dscr='-I -- include internal (new) events only' +compadd:61> [[ -n '-I -- include internal (new) events only' ]] +compadd:63> dscr='-I -- include internal (new) events only' +compadd:68> _ftb_compcap+=$'-I -- include internal (new) events only\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-I' +compadd:58> i=2 +compadd:60> word=-L dscr='-L -- include local events only' +compadd:61> [[ -n '-L -- include local events only' ]] +compadd:63> dscr='-L -- include local events only' +compadd:68> _ftb_compcap+=$'-L -- include local events only\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-L' +compadd:58> i=3 +compadd:60> word=-r dscr='-r -- reverse order of the events' +compadd:61> [[ -n '-r -- reverse order of the events' ]] +compadd:63> dscr='-r -- reverse order of the events' +compadd:68> _ftb_compcap+=$'-r -- reverse order of the events\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-r' +compadd:58> i=4 +compadd:60> word=-n dscr='-n -- suppress line numbers' +compadd:61> [[ -n '-n -- suppress line numbers' ]] +compadd:63> dscr='-n -- suppress line numbers' +compadd:68> _ftb_compcap+=$'-n -- suppress line numbers\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-n' +compadd:58> i=5 +compadd:60> word=-m dscr='-m -- treat argument as a pattern' +compadd:61> [[ -n '-m -- treat argument as a pattern' ]] +compadd:63> dscr='-m -- treat argument as a pattern' +compadd:68> _ftb_compcap+=$'-m -- treat argument as a pattern\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-m' +compadd:58> i=6 +compadd:60> word=-d dscr='-d -- print time-stamps' +compadd:61> [[ -n '-d -- print time-stamps' ]] +compadd:63> dscr='-d -- print time-stamps' +compadd:68> _ftb_compcap+=$'-d -- print time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-d' +compadd:58> i=7 +compadd:60> word=-f dscr='-f -- mm/dd/yyyy format time-stamps' +compadd:61> [[ -n '-f -- mm/dd/yyyy format time-stamps' ]] +compadd:63> dscr='-f -- mm/dd/yyyy format time-stamps' +compadd:68> _ftb_compcap+=$'-f -- mm/dd/yyyy format time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-f' +compadd:58> i=8 +compadd:60> word=-E dscr='-E -- dd.mm.yyyy format time-stamps' +compadd:61> [[ -n '-E -- dd.mm.yyyy format time-stamps' ]] +compadd:63> dscr='-E -- dd.mm.yyyy format time-stamps' +compadd:68> _ftb_compcap+=$'-E -- dd.mm.yyyy format time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-E' +compadd:58> i=9 +compadd:60> word=-i dscr='-i -- yyyy-mm-dd format time-stamps' +compadd:61> [[ -n '-i -- yyyy-mm-dd format time-stamps' ]] +compadd:63> dscr='-i -- yyyy-mm-dd format time-stamps' +compadd:68> _ftb_compcap+=$'-i -- yyyy-mm-dd format time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-i' +compadd:58> i=10 +compadd:60> word=-t dscr='-t -- print time-stamps in specified format' +compadd:61> [[ -n '-t -- print time-stamps in specified format' ]] +compadd:63> dscr='-t -- print time-stamps in specified format' +compadd:68> _ftb_compcap+=$'-t -- print time-stamps in specified format\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-t' +compadd:58> i=11 +compadd:60> word=-D dscr='-D -- print elapsed times' +compadd:61> [[ -n '-D -- print elapsed times' ]] +compadd:63> dscr='-D -- print elapsed times' +compadd:68> _ftb_compcap+=$'-D -- print elapsed times\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-D' +compadd:58> i=12 +compadd:60> word=-a dscr='-a -- with -p, automatically pop history on function return' +compadd:61> [[ -n '-a -- with -p, automatically pop history on function return' ]] +compadd:63> dscr='-a -- with -p, automatically pop history on function return' +compadd:68> _ftb_compcap+=$'-a -- with -p, automatically pop history on function return\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-a' +compadd:58> i=13 +compadd:60> word=-p dscr='-p -- push current history to stack' +compadd:61> [[ -n '-p -- push current history to stack' ]] +compadd:63> dscr='-p -- push current history to stack' +compadd:68> _ftb_compcap+=$'-p -- push current history to stack\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-p' +compadd:58> i=14 +compadd:60> word=-P dscr='-P -- pop history from stack' +compadd:61> [[ -n '-P -- pop history from stack' ]] +compadd:63> dscr='-P -- pop history from stack' +compadd:68> _ftb_compcap+=$'-P -- pop history from stack\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-P' +compadd:71> compadd -l -M 'r:|[_-]=* r:|=*' -J -default- -d _tmpd -a _tmpm +_describe:134> _ret=0 +_describe:129> compdescribe -g csl2 _args _tmpm _tmpd +_describe:68> _next_label options _expl option +_next_label:3> local __gopt __descr __spec +_next_label:5> __gopt=( ) +_next_label:6> zparseopts -D -a __gopt 1 2 V J x +_next_label:8> comptags -A options curtag __spec +_next_label:25> return 1 +_describe:137> (( _ret )) +_describe:137> return 0 +_arguments:532> PREFIX=- +_arguments:533> IPREFIX='' +_arguments:534> curcontext=:complete:history:argument-1 +_arguments:536> [[ -n '' ]] +_arguments:365> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_arguments:538> [[ -n yes && -z yes ]] +_arguments:566> break +_arguments:569> [[ -z yes || -z yes ]] +_arguments:571> [[ -n yes ]] +_arguments:572> [[ -n '' ]] +_arguments:586> [[ nm -ne 14 ]] +_fc:55> ret=0 +_fc:71> [[ -n events ]] +_fc:72> zstyle -s :completion::complete:history:argument-1: list-separator sep +_fc:72> sep=-- +_fc:73> [[ -z - ]] +_fc:75> [[ ›prefix [0-9] ]] +_fc:79> [[ ›prefix - ]] +_fc:80> num=1 +_fc:80> cmd=vim .zsh_history +_fc:81> (( num=num - HISTNO )) +_fc:82> events+=( '-1 -- vim .zsh_history' ) +_fc:84> _wanted -2V events expl 'first event' compadd -ld events - -1 +_wanted:3> local -a __targs __gopt +_wanted:5> zparseopts -D -a __gopt 1 2 V J x 'C:=__targs' +_wanted:7> _tags events +_tags:3> local prev +_tags:10> [[ events = -- ]] +_tags:15> (( 1 )) +_tags:19> local curcontext=:complete:history:argument-1 order tag nodef tmp +_tags:21> [[ events = -C?* ]] +_tags:24> [[ events = -C ]] +_tags:29> [[ events = -(|-) ]] +_tags:31> zstyle -a :completion::complete:history:argument-1: group-order order +_tags:36> comptags -i :complete:history:argument-1 events +_tags:40> [[ -n '' ]] +_tags:43> zstyle -a :completion::complete:history:argument-1: tag-order order +_tags:44> (( ! 0 )) +_tags:55> [[ -z '' ]] +_tags:55> comptry events +_tags:60> comptags -T +_tags:62> return +_wanted:9> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_wanted:10> _all_labels -2 -V events expl 'first event' compadd -ld events - -1 +_all_labels:3> local __gopt __len __tmp __pre __suf __ret=1 __descr __spec __prev +_all_labels:5> [[ -2 = - ]] +_all_labels:10> __gopt=( ) +_all_labels:11> zparseopts -D -a __gopt 1 2 V J x +_all_labels:13> __tmp=7 +_all_labels:14> __len=8 +_all_labels:15> [[ __tmp -lt __len ]] +_all_labels:16> __pre=6 +_all_labels:17> __suf=7 +_all_labels:26> comptags -A events curtag __spec +_all_labels:27> (( 12 > _tags_level )) +_all_labels:28> _tags_level=12 +_all_labels:29> _comp_tags=' options events ' +_all_labels:30> [[ events = *[^\\]:* ]] +_all_labels:37> _description -2 -V events expl 'first event' +_description:3> local name nopt xopt format gname hidden hide match opts tag +_description:4> local -a ign gropt sort +_description:5> local -a match mbegin mend +_description:7> opts=( ) +_description:9> xopt=( -X ) +_description:10> nopt=( ) +_description:11> zparseopts -K -D -a nopt 1 2 'V=gropt' 'J=ign' 'x=xopt' +_description:13> 3='first event' +_description:14> [[ -n 'first event' ]] +_description:14> _lastdescr=( '' 'first event' option 'first event' ) +_description:16> zstyle -s :completion::complete:history:argument-1:events group-name gname +_description:19> _setup events -default- +_setup:3> local val nm=14 +_setup:5> [[ 2 -eq 1 ]] +_setup:7> zstyle -a :completion::complete:history:argument-1:events list-colors val +_setup:21> [[ events = default ]] +_setup:27> zstyle -s :completion::complete:history:argument-1:events show-ambiguity val +_setup:32> zstyle -t :completion::complete:history:argument-1:events list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion::complete:history:argument-1:events list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion::complete:history:argument-1:events last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion::complete:history:argument-1:events accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion::complete:history:argument-1:events menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion::complete:history:argument-1:events force-list val +_description:21> name=expl +_description:23> zstyle -s :completion::complete:history:argument-1:events format format +_description:24> zstyle -s :completion::complete:history:argument-1:descriptions format format +_description:26> zstyle -s :completion::complete:history:argument-1:events hidden hidden +_description:31> zstyle -s :completion::complete:history:argument-1:events matcher match +_description:33> [[ -n '' ]] +_description:37> [[ -z -V ]] +_description:48> gropt=( -o nosort ) +_description:51> [[ -z '' ]] +_description:52> zstyle -a :completion::complete:history:argument-1:events ignored-patterns _comp_ignore +_description:53> _comp_ignore=( ) +_description:55> zstyle -s :completion::complete:history:argument-1:events ignore-line hidden +_description:71> (( 0 )) +_description:76> tag=events +_description:78> shift 2 +_description:79> [[ -z 'first event' ]] +_description:81> [[ -n '' ]] +_description:92> [[ -n '' ]] +_description:99> [[ -n '' ]] +_description:102> set -A expl -2 -o nosort -J -default- +_description:106> (( 0 )) +_description:107> local fakestyle descr +_description:108> fakestyle=fake +_description:109> zstyle -a :completion::complete:history:argument-1:events fake match +_description:110> continue +_description:108> fakestyle=fake-always +_description:109> zstyle -a :completion::complete:history:argument-1:events fake-always match +_description:110> continue +_description:123> return 0 +_all_labels:39> compadd -ld events -2 -o nosort -J -default- - -1 +compadd:1> local -A apre hpre dscrs _oad _mesg +compadd:2> local -a isfile _opts __ expl +compadd:3> zparseopts -E -a _opts 'P:=apre' 'p:=hpre' 'd:=dscrs' 'X+:=expl' 'O:=_oad' 'A:=_oad' 'D:=_oad' 'f=isfile' i: S: s: I: 'x:=_mesg' r: R: W: F: M+: E: q e Q n U C 'J:=__' 'V:=__' 'a=__' 'l=__' 'k=__' 'o=__' '1=__' '2=__' +compadd:4> _ftb_curcontext=complete:history:argument-1 +compadd:5> (( 0 != 0 || ! IN_FZF_TAB )) +compadd:6> -ftb-zstyle -m disabled-on any +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:argument-1 disabled-on any +compadd:9> -ftb-zstyle -m disabled-on files +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:argument-1 disabled-on files +compadd:16> local -a __hits __dscr +compadd:17> (( 1 == 1 )) +compadd:19> __dscr=( '-1 -- vim .zsh_history' ) +compadd:21> compadd -A __hits -D __dscr -ld events -2 -o nosort -J -default- - -1 +compadd:22> local ret=1 +compadd:23> (( 1 == 0 )) +compadd:31> expl='' +compadd:32> [[ -n '' ]] +compadd:33> local -a keys=( apre hpre PREFIX SUFFIX IPREFIX ISUFFIX ) +compadd:34> local key expanded __tmp_value=$'<\C-@>' +compadd:35> key=apre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=hpre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=PREFIX +compadd:37> expanded=- +compadd:38> [[ -n - ]] +compadd:40> __tmp_value+=$'\C-@PREFIX\C-@-' +compadd:35> key=SUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=IPREFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=ISUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:43> [[ -n '' ]] +compadd:47> [[ -n '' ]] +compadd:51> _opts+=( ) +compadd:52> __tmp_value+=$'\C-@args\C-@' +compadd:53> (( 0 )) +compadd:57> local dscr word i +compadd:58> i=1 +compadd:60> word=-1 dscr='-1 -- vim .zsh_history' +compadd:61> [[ -n '-1 -- vim .zsh_history' ]] +compadd:63> dscr='-1 -- vim .zsh_history' +compadd:68> _ftb_compcap+=$'-1 -- vim .zsh_history\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@\C-@word\C-@-1' +compadd:71> compadd -ld events -2 -o nosort -J -default- - -1 +_all_labels:39> __ret=0 +_all_labels:26> comptags -A events curtag __spec +_all_labels:43> return __ret +_wanted:10> return 0 +_fc:90> ret=0 +_fc:92> return ret +_dispatch:63> ret=0 +_dispatch:64> [[ patterns = (all|*patterns*) ]] +_dispatch:64> return ret +_complete:117> ret=0 +_complete:142> _compskip='' +_complete:144> return ret +_ftb__main_complete:145> ret=0 +_ftb__main_complete:146> break 2 +_ftb__main_complete:153> curcontext=::: +_ftb__main_complete:154> [[ '' = keep ]] +_ftb__main_complete:158> nm=15 +_ftb__main_complete:160> [[ '' = keep || nm -gt 1 ]] +_ftb__main_complete:162> [[ _last_nmatches -ge 0 ]] +_ftb__main_complete:163> tmp=17 +_ftb__main_complete:164> _menu_style=( '' '' ) +_ftb__main_complete:165> [[ ambiguous = *list(|\ *) ]] +_ftb__main_complete:168> [[ automenu-unambiguous = automenu-unambiguous ]] +_ftb__main_complete:170> [[ -n automenu-unambiguous && -n '' ]] +_ftb__main_complete:174> sel=( ) +_ftb__main_complete:175> (( 0 )) +_ftb__main_complete:194> sel=( ) +_ftb__main_complete:195> (( 0 )) +_ftb__main_complete:214> [[ -n '' || -n '' ]] +_ftb__main_complete:217> [[ -n '' ]] +_ftb__main_complete:220> [[ -n '' ]] +_ftb__main_complete:226> [[ automenu-unambiguous = *menu* ]] +_ftb__main_complete:228> [[ '' = 00 ]] +_ftb__main_complete:229> [[ -n '' ]] +_ftb__main_complete:232> [[ -n '' ]] +_ftb__main_complete:240> [[ '' != 00 ]] +_ftb__main_complete:242> sel=( ) +_ftb__main_complete:243> (( 0 )) +_ftb__main_complete:264> unset MENUSELECT +_ftb__main_complete:267> [[ -n '' ]] +_ftb__main_complete:303> [[ -n '' ]] +_ftb__main_complete:309> [[ '' = always || '' = ?* ]] +_ftb__main_complete:311> [[ '' = keep ]] +_ftb__main_complete:319> (( 0 )) +_ftb__main_complete:323> unset ZLS_COLORS +_ftb__main_complete:326> funcs=( ) +_ftb__main_complete:327> comppostfuncs=( ) +_ftb__main_complete:332> _lastcomp=( list_lines 15 all_quotes '\' nmatches 15 restore auto context command vared '' unambiguous '' list_max 100 unambiguous_cursor 1 list ambiguous insert_positions 8 unambiguous_positions 0 exact '' to_end match last_prompt yes pattern_insert menu ignored 0 insert automenu-unambiguous ) +_ftb__main_complete:333> _lastcomp[nmatches]=15 +_ftb__main_complete:334> _lastcomp[completer]=complete +_ftb__main_complete:335> _lastcomp[prefix]=- +_ftb__main_complete:336> _lastcomp[suffix]='' +_ftb__main_complete:337> _lastcomp[iprefix]='' +_ftb__main_complete:338> _lastcomp[isuffix]='' +_ftb__main_complete:339> _lastcomp[qiprefix]='' +_ftb__main_complete:340> _lastcomp[qisuffix]='' +_ftb__main_complete:341> _lastcomp[tags]=' options events ' +_ftb__main_complete:342> return ret +-ftb-complete:8> (( 0 )) +-ftb-complete:10> emulate -L zsh -o extended_glob +-ftb-complete:12> local _ftb_query _ftb_complist=( ) _ftb_headers=( ) command opts +-ftb-complete:13> -ftb-generate-complist +-ftb-generate-complist:3> local dsuf dpre k _v filepath first_word show_group default_color prefix bs=$'\C-H' +-ftb-generate-complist:4> local -a list_colors group_colors tcandidates reply match mbegin mend +-ftb-generate-complist:5> local -i same_word=1 colorful=0 +-ftb-generate-complist:6> local -Ua duplicate_groups=( ) +-ftb-generate-complist:7> local -A word_map=( ) +-ftb-generate-complist:9> (( 15 == 0 )) +-ftb-generate-complist:11> -ftb-zstyle -s show-group show_group +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 show-group show_group +-ftb-generate-complist:11> show_group=full +-ftb-generate-complist:12> -ftb-zstyle -s default-color default_color +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 default-color default_color +-ftb-generate-complist:12> default_color=$'\C-[[37m' +-ftb-generate-complist:13> -ftb-zstyle -s prefix prefix +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 prefix prefix +-ftb-generate-complist:14> zstyle -m ':completion:*:descriptions' format '*' +-ftb-generate-complist:16> -ftb-zstyle -a group-colors group_colors +-ftb-zstyle:1> zstyle -a :fzf-tab:complete:history:argument-1 group-colors group_colors +-ftb-generate-complist:16> group_colors=( $'\C-[[94m' $'\C-[[32m' $'\C-[[33m' $'\C-[[35m' $'\C-[[31m' $'\C-[[38;5;27m' $'\C-[[36m' $'\C-[[38;5;100m' $'\C-[[38;5;98m' $'\C-[[91m' $'\C-[[38;5;80m' $'\C-[[92m' $'\C-[[38;5;214m' $'\C-[[38;5;165m' $'\C-[[38;5;124m' $'\C-[[38;5;120m' ) +-ftb-generate-complist:17> zstyle -a :completion:complete:history:argument-1 list-colors list_colors +-ftb-generate-complist:20> (( 0 )) +-ftb-generate-complist:23> local -A namecolors=( ) +-ftb-generate-complist:24> local -A modecolors=( ) +-ftb-generate-complist:25> (( 0 == 0 && 0 == 0 )) +-ftb-generate-complist:25> list_colors=( ) +-ftb-generate-complist:28> (( 0 == 1 )) +-ftb-generate-complist:33> (( 0 )) +-ftb-generate-complist:36> k=-I -- include internal (new) events only +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -I +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -I ) +-ftb-generate-complist:38> [[ -I == -I ]] +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-I -- include internal (new) events only\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-L -- include local events only +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -L +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -L ) +-ftb-generate-complist:38> [[ -L == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-L -- include local events only\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-r -- reverse order of the events +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -r +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -r ) +-ftb-generate-complist:38> [[ -r == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-r -- reverse order of the events\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-n -- suppress line numbers +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -n +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -n ) +-ftb-generate-complist:38> [[ -n == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-n -- suppress line numbers\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-m -- treat argument as a pattern +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -m +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -m ) +-ftb-generate-complist:38> [[ -m == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-m -- treat argument as a pattern\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-d -- print time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -d +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -d ) +-ftb-generate-complist:38> [[ -d == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-d -- print time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-f -- mm/dd/yyyy format time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -f +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -f ) +-ftb-generate-complist:38> [[ -f == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-f -- mm/dd/yyyy format time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-E -- dd.mm.yyyy format time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -E +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -E ) +-ftb-generate-complist:38> [[ -E == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-E -- dd.mm.yyyy format time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-i -- yyyy-mm-dd format time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -i +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -i ) +-ftb-generate-complist:38> [[ -i == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-i -- yyyy-mm-dd format time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-t -- print time-stamps in specified format +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -t +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -t ) +-ftb-generate-complist:38> [[ -t == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-t -- print time-stamps in specified format\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-D -- print elapsed times +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -D +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -D ) +-ftb-generate-complist:38> [[ -D == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-D -- print elapsed times\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-a -- with -p, automatically pop history on function return +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -a +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -a ) +-ftb-generate-complist:38> [[ -a == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-a -- with -p, automatically pop history on function return\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-p -- push current history to stack +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -p +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -p ) +-ftb-generate-complist:38> [[ -p == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-p -- push current history to stack\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-P -- pop history from stack +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -P +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -P ) +-ftb-generate-complist:38> [[ -P == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-P -- pop history from stack\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-1 -- vim .zsh_history +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ ƒ wordƒ -1 +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args '' word -1 ) +-ftb-generate-complist:38> [[ -1 == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-1 -- vim .zsh_history\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:81> (( same_word )) +-ftb-generate-complist:84> zstyle -T :completion:complete:history:argument-1 sort +-ftb-generate-complist:85> (( 0 != 1 )) +-ftb-generate-complist:86> (( colorful )) +-ftb-generate-complist:97> tcandidates=( $'\C-[[37m\C-@-1 -- vim .zsh_history\C-@' $'\C-[[37m\C-@-D -- print elapsed times\C-@' $'\C-[[37m\C-@-E -- dd.mm.yyyy format time-stamps\C-@' $'\C-[[37m\C-@-I -- include internal (new) events only\C-@' $'\C-[[37m\C-@-L -- include local events only\C-@' $'\C-[[37m\C-@-P -- pop history from stack\C-@' $'\C-[[37m\C-@-a -- with -p, automatically pop history on function return\C-@' $'\C-[[37m\C-@-d -- print time-stamps\C-@' $'\C-[[37m\C-@-f -- mm/dd/yyyy format time-stamps\C-@' $'\C-[[37m\C-@-i -- yyyy-mm-dd format time-stamps\C-@' $'\C-[[37m\C-@-m -- treat argument as a pattern\C-@' $'\C-[[37m\C-@-n -- suppress line numbers\C-@' $'\C-[[37m\C-@-p -- push current history to stack\C-@' $'\C-[[37m\C-@-r -- reverse order of the events\C-@' $'\C-[[37m\C-@-t -- print time-stamps in specified format\C-@' ) +-ftb-generate-complist:100> typeset -gUa _ftb_complist=( $'\C-[[37m\C-@-1 -- vim .zsh_history\C-@' $'\C-[[37m\C-@-D -- print elapsed times\C-@' $'\C-[[37m\C-@-E -- dd.mm.yyyy format time-stamps\C-@' $'\C-[[37m\C-@-I -- include internal (new) events only\C-@' $'\C-[[37m\C-@-L -- include local events only\C-@' $'\C-[[37m\C-@-P -- pop history from stack\C-@' $'\C-[[37m\C-@-a -- with -p, automatically pop history on function return\C-@' $'\C-[[37m\C-@-d -- print time-stamps\C-@' $'\C-[[37m\C-@-f -- mm/dd/yyyy format time-stamps\C-@' $'\C-[[37m\C-@-i -- yyyy-mm-dd format time-stamps\C-@' $'\C-[[37m\C-@-m -- treat argument as a pattern\C-@' $'\C-[[37m\C-@-n -- suppress line numbers\C-@' $'\C-[[37m\C-@-p -- push current history to stack\C-@' $'\C-[[37m\C-@-r -- reverse order of the events\C-@' $'\C-[[37m\C-@-t -- print time-stamps in specified format\C-@' ) +-ftb-generate-complist:103> (( 0 )) +-ftb-complete:15> -ftb-zstyle -s continuous-trigger continuous_trigger +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 continuous-trigger continuous_trigger +-ftb-complete:16> [[ darwin23.0 == msys ]] +-ftb-complete:16> continuous_trigger=/ +-ftb-complete:19> case 15 (0) +-ftb-complete:19> case 15 (1) +-ftb-complete:19> case 15 (*) +-ftb-complete:29> (( ! _ftb_continue_last )) +-ftb-complete:30> [[ automenu-unambiguous == *unambiguous ]] +-ftb-complete:31> [[ '' != - ]] +-ftb-complete:32> compstate[list]='' +-ftb-complete:33> compstate[insert]=unambiguous +-ftb-complete:34> _ftb_finish=1 +-ftb-complete:35> return 0 +fzf-tab-complete:11> ret=1 +fzf-tab-complete:12> (( ! ret && ! _ftb_finish )) +fzf-tab-complete:16> IN_FZF_TAB=0 +fzf-tab-complete:18> (( _ftb_continue )) +fzf-tab-complete:6> (( _ftb_continue )) +fzf-tab-complete:25> echoti cnorm +fzf-tab-complete:26> zle .redisplay +fzf-tab-complete:27> (( _ftb_accept )) +fzf-tab-complete:28> return 1 ```
SPiCaRiA commented 2 months ago

Also, as I tested further on Arch, I see the same bug, but in a slightly different way.

  1. When openning a terminal emulator and directly type history - and press <TAB>, the completion works.
  2. After running at least one command, the same thing breaks.
# Opening a new shell
history -<TAB> # Now works, I see the completion

# Restarting a new shell
: # A random command that does nothing, you can do `true` or `echo 1` or whatever you want
history -<TAB> # Now breaks, I see nothing

Note that on macOS, the completion breaks immediately, regardless of whether it's the first thing done after openning the shell.

Log Details on Arch ``` zsh 5.9 fzf-tab: v1.1.1.r0.gbf3ef55 fzf-tab-debug:typeset:12: no such variable: FZF_DEFAULT_OPTS /usr/bin/fzf 0.48.1 (9ffe951f) +fzf-tab-complete:2> local -i _ftb_continue=1 _ftb_continue_last=0 _ftb_accept=0 ret=0 +fzf-tab-complete:5> echoti civis +fzf-tab-complete:6> (( _ftb_continue )) +fzf-tab-complete:7> local _ftb_choices=( ) _ftb_compcap=( ) _ftb_finish=0 +fzf-tab-complete:8> _ftb_continue=0 +fzf-tab-complete:9> local IN_FZF_TAB=1 +fzf-tab-complete:11> zle .fzf-tab-orig-expand-or-complete +-ftb-complete:1> local -Ua _ftb_groups +-ftb-complete:2> local choice choices _ftb_curcontext continuous_trigger print_query accept_line bs=$'\C-B' nul=$'\C-@' +-ftb-complete:3> local ret=0 +-ftb-complete:6> (( 0 )) +-ftb-complete:7> COLUMNS=500 +-ftb-complete:7> _ftb__main_complete +_ftb__main_complete:1> local IFS=$' \t\n\C-@' +_ftb__main_complete:2> eval $'local -A _comp_caller_options;\n _comp_caller_options=(${(kv)options[@]});\n setopt localoptions localtraps localpatterns ${_comp_options[@]};\n local IFS=$\' \\t\\r\\n\\0\';\n builtin enable -p \\| \\~ \\( \\? \\* \\[ \\< \\^ \\# 2>&-;\n exec local -A _comp_caller_options +(eval):2> _comp_caller_options=( posixargzero off autolist on shortrepeat off printexitvalue off kshzerosubscript off histreduceblanks off chaselinks off extendedglob off localloops off histnostore off automenu on globcomplete off unset on listpacked off promptsubst off shwordsplit off pathdirs off kshtypeset off listtypes on warncreateglobal off promptbang off dotglob off braceexpand on listbeep on correctall off privileged off numericglobsort off histverify off trackall on histsubstpattern off globstarshort off cbases off rcquotes off posixaliases off histfindnodups off bashautolist off sharehistory off overstrike off kshautoload off incappendhistory off appendcreate off promptcr on mailwarn off pushdignoredups off interactive on ignoreeof off globsubst off rematchpcre off monitor on histsavebycopy on clobberempty off histbeep on debugbeforecmd on magicequalsubst off rmstarsilent off posixjobs off hashcmds on posixtraps off extendedhistory off notify on kshoptionprint off histexpiredupsfirst off glob on posixcd off braceccl off badpattern on longlistjobs off banghist on dvorak off alwaystoend off hashall on warnnestedvar off globalexport on ksharrays off correct off cdsilent off autonamedirs off histexpand on typesetsilent off rmstarwait off histnofunctions off autoparamslash on trapsasync off sunkeyboardhack off promptsp on histsavenodups off autocd off allexport off posixidentifiers off cshjunkiehistory off autopushd off completeinword off completealiases off aliases on autocontinue off appendhistory on aliasfuncdef off singlelinezle off hashlistall on ignoreclosebraces off recexact off localoptions off interactivecomments off errexit off cshjunkiequotes off markdirs off hashdirs on cdablevars off rcexpandparam off vi off printeightbit off multifuncdef on xtrace on login off cshjunkieloops off histappend on histignorespace off evallineno on shfileexpansion off rcs on functionargzero on errreturn off combiningchars off histignoredups off histfcntllock off beep on autoremoveslash on hup on globdots off checkrunningjobs on autoparamkeys on shnullcmd off multibyte on zle on promptpercent on flowcontrol on continueonerror off incappendhistorytime off autoresume off globassign off caseglob on shortloops on bsdecho off cprecedences off log on transientrprompt off verbose off localpatterns off ignorebraces off pipefail off equals on menucomplete off cshnullglob off casematch on promptvars off histallowclobber off bareglobqual on shinstdin on restricted off pushdminus off nullglob off chasedots off mailwarning off listambiguous on cshnullcmd off bashrematch off octalzeroes off forcefloat off exec on multios on emacs off nomatch on pathscript off localtraps off stdin on onecmd off kshglob off clobber on posixbuiltins off alwayslastprompt on pushdtohome off histignorealldups off hashexecutablesonly off pushdsilent off casepaths off shoptionletters off physical off sourcetrace off typesettounset off histlexwords off bgnice on globalrcs on posixstrings off checkjobs on shglob off singlecommand off listrowsfirst off ) +(eval):3> setopt localoptions localtraps localpatterns bareglobqual extendedglob glob multibyte multifuncdef nullglob rcexpandparam unset NO_allexport NO_aliases NO_cshnullglob NO_cshjunkiequotes NO_errexit NO_errreturn NO_globassign NO_globsubst NO_histsubstpattern NO_ignorebraces NO_ignoreclosebraces NO_kshglob NO_ksharrays NO_kshtypeset NO_markdirs NO_octalzeroes NO_posixbuiltins NO_posixidentifiers NO_shwordsplit NO_shglob NO_typesettounset NO_warnnestedvar NO_warncreateglobal +(eval):4> local IFS=$' \t\C-M\n\C-@' +(eval):5> enable -p '|' '~' '(' '?' '*' '[' '<' '^' '#' +(eval):7> trap - ZERR +(eval):8> local -a reply +(eval):9> local REPLY +(eval):10> local REPORTTIME +(eval):11> unset REPORTTIME +_ftb__main_complete:3> local func funcs ret=1 tmp _compskip format nm call match min max i num _completers _completer _completer_num curtag _comp_force_list _matchers _matcher _c_matcher _matcher_num _comp_tags _comp_mesg mesg str context state state_descr line opt_args val_args curcontext='' _last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel _tags_level=0 _saved_exact='' _saved_lastprompt=yes _saved_list=ambiguous _saved_insert=automenu-unambiguous _saved_colors='' _saved_colors_set=0 _ambiguous_color='' +_ftb__main_complete:4> local _comp_priv_prefix +_ftb__main_complete:5> unset _comp_priv_prefix +_ftb__main_complete:6> local -a precommands +_ftb__main_complete:7> local -ar builtin_precommands=( - builtin eval exec nocorrect noglob time ) +_ftb__main_complete:8> typeset -U _lastdescr _comp_ignore _comp_colors +_ftb__main_complete:10> [[ -z '' ]] +_ftb__main_complete:10> curcontext=::: +_ftb__main_complete:11> zstyle -s :completion::::: insert-tab tmp +_ftb__main_complete:11> tmp=yes +_ftb__main_complete:12> [[ yes = *pending(|[[:blank:]]*) || yes = *pending=(#b)([0-9]##)(|[[:blank:]]*) ]] +_ftb__main_complete:17> [[ automenu-unambiguous = tab* ]] +_ftb__main_complete:28> [[ '' = \* ]] +_ftb__main_complete:34> [[ -z '' ]] +_ftb__main_complete:36> [[ -o equals ]] +_ftb__main_complete:36> compset -P 1 '=' +_ftb__main_complete:39> [[ - != */* && - = \~ ]] +_ftb__main_complete:53> _setup default +_setup:3> local val nm=0 +_setup:5> [[ 1 -eq 1 ]] +_setup:5> 2=default +_setup:7> zstyle -a :completion:::::default list-colors val +_setup:21> [[ default = default ]] +_setup:22> unset ZLS_COLORS ZLS_COLOURS +_setup:27> zstyle -s :completion:::::default show-ambiguity val +_setup:32> zstyle -t :completion:::::default list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion:::::default list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion:::::default last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion:::::default accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion:::::default menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion:::::default force-list val +_ftb__main_complete:54> _def_menu_style=( '' ) +_ftb__main_complete:55> _last_menu_style=( ) +_ftb__main_complete:56> zstyle -s :completion:::::default list-prompt tmp +_ftb__main_complete:61> zstyle -s :completion:::::default select-prompt tmp +_ftb__main_complete:66> zstyle -s :completion:::::default select-scroll tmp +_ftb__main_complete:71> (( 0 )) +_ftb__main_complete:86> zstyle -a :completion::::: completer _completers +_ftb__main_complete:86> _completers=( _complete _ignored ) +_ftb__main_complete:88> _completer_num=1 +_ftb__main_complete:89> integer SECONDS=0 +_ftb__main_complete:100> funcs=( ) +_ftb__main_complete:101> compprefuncs=( ) +_ftb__main_complete:106> tmp=_complete +_ftb__main_complete:108> [[ -n '' ]] +_ftb__main_complete:111> [[ _complete = *:-* ]] +_ftb__main_complete:115> [[ _complete = *:* ]] +_ftb__main_complete:120> _completer=complete +_ftb__main_complete:122> curcontext=:complete:: +_ftb__main_complete:123> zstyle -t :completion::complete::: show-completer +_ftb__main_complete:124> zstyle -a :completion::complete::: matcher-list _matchers +_ftb__main_complete:124> _matchers=( '' ) +_ftb__main_complete:125> _matcher_num=1 +_ftb__main_complete:126> _matcher='' +_ftb__main_complete:127> _c_matcher= +_ftb__main_complete:129> [[ '' == +* ]] +_ftb__main_complete:133> _matcher='' +_ftb__main_complete:135> _comp_mesg='' +_ftb__main_complete:136> [[ -n '' ]] +_ftb__main_complete:143> _complete +_complete:7> local comp name oldcontext ret=1 service +_complete:8> typeset -T curcontext=:complete:: ccarray +_complete:10> oldcontext=:complete:: +_complete:14> [[ -n '' ]] +_complete:96> comp=_first +_complete:97> [[ -n _first ]] +_complete:98> service=-first- +_complete:99> ccarray[3]=-first- +_complete:100> eval _first +(eval):1> _first +_complete:100> ret=0 +_complete:101> [[ '' = all ]] +_complete:110> [[ -n '' ]] +_complete:114> ret=1 +_complete:115> [[ command = command ]] +_complete:116> curcontext=:complete:: +_complete:117> _normal -s +_normal:3> local _comp_command1 _comp_command2 _comp_command precommand +_normal:4> local -A opts +_normal:6> zparseopts -A opts -D - P 'p+:-=precommand' s +_normal:7> (( 1 )) +_normal:8> (( 0 )) +_normal:9> (( 0 )) +_normal:15> [[ -o BANG_HIST && - = !*: || - = "!*: ]] +_normal:28> [[ CURRENT -eq 1 ]] +_normal:37> _set_command +_set_command:6> local command +_set_command:8> command=history +_set_command:10> [[ -z history ]] +_set_command:12> (( 1 + 0 )) +_set_command:13> _comp_command1=history +_set_command:14> _comp_command=history +_normal:39> _dispatch -s history history '' -default- +_dispatch:3> local comp pat val name i ret=1 _compskip='' +_dispatch:4> local curcontext=:complete:: service str noskip +_dispatch:5> local -a match mbegin mend +_dispatch:9> [[ -s = -s ]] +_dispatch:10> noskip=yes +_dispatch:11> shift +_dispatch:14> [[ -z yes ]] +_dispatch:16> curcontext=:complete:history: +_dispatch:18> shift +_dispatch:22> [[ '' != (all|*patterns*) ]] +_dispatch:24> str=history +_dispatch:25> [[ -n history ]] +_dispatch:26> service=history +_dispatch:24> str= +_dispatch:25> [[ -n '' ]] +_dispatch:25> continue +_dispatch:24> str=-default- +_dispatch:25> [[ -n -default- ]] +_dispatch:26> service=-default- +_dispatch:45> ret=1 +_dispatch:46> str=history +_dispatch:47> [[ -n history ]] +_dispatch:51> str=history +_dispatch:52> name=history +_dispatch:53> comp=_fc +_dispatch:54> service=history +_dispatch:56> [[ -z _fc ]] +_dispatch:56> break +_dispatch:61> [[ -n _fc && history != -default- ]] +_dispatch:62> _compskip=patterns +_dispatch:63> eval _fc +(eval):1> _fc +_fc:3> local curcontext=:complete:history: state state_descr line expl ret=1 +_fc:4> local num cmd sep +_fc:5> local -a events +_fc:6> typeset -A opt_args +_fc:7> local fc_common fc_hist fc_r +_fc:10> local cur=0 +_fc:11> words=( history - ) +_fc:12> (( CURRENT -= cur )) +_fc:14> fc_common=( -s -S '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' ) +_fc:22> [[ -n '' ]] +_fc:29> [[ -n '' ]] +_fc:32> fc_common=( -C -s -S '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' '(-)1:first event:->events' '2:last event:->events' ) +_fc:37> fc_hist=( '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' '(-A -R -W -e -a -p -P)-D[print elapsed times]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' '(- *)-P[pop history from stack]' ) +_fc:51> fc_r='(-A -R -W -e)-l[list resulting commands on stdout]' +_fc:53> case history (history) +_fc:55> _arguments -C -s -S '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' '(-)1:first event:->events' '2:last event:->events' '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' '(-A -R -W -e -a -p -P)-D[print elapsed times]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' '(- *)-P[pop history from stack]' +_arguments:6> local long cmd=history descr odescr mesg subopts opt opt2 usecc autod +_arguments:7> local oldcontext=:complete:history: hasopts rawret optarg singopt alwopt +_arguments:8> local setnormarg start rest +_arguments:9> local -a match mbegin mend +_arguments:10> integer opt_args_use_NUL_separators=0 +_arguments:12> subopts=( ) +_arguments:13> singopt=( ) +_arguments:14> [[ -C = -([AMO]*|[0CRSWnsw]) ]] +_arguments:15> case -C (-0) +_arguments:15> case -C (-C) +_arguments:17> usecc=yes +_arguments:17> shift +_arguments:14> [[ -s = -([AMO]*|[0CRSWnsw]) ]] +_arguments:15> case -s (-0) +_arguments:15> case -s (-C) +_arguments:15> case -s (-O) +_arguments:15> case -s (-O*) +_arguments:15> case -s (-R) +_arguments:15> case -s (-n) +_arguments:15> case -s (-w) +_arguments:15> case -s (-W) +_arguments:15> case -s (-[Ss]) +_arguments:24> singopt+=( -s ) +_arguments:24> shift +_arguments:14> [[ -S = -([AMO]*|[0CRSWnsw]) ]] +_arguments:15> case -S (-0) +_arguments:15> case -S (-C) +_arguments:15> case -S (-O) +_arguments:15> case -S (-O*) +_arguments:15> case -S (-R) +_arguments:15> case -S (-n) +_arguments:15> case -S (-w) +_arguments:15> case -S (-W) +_arguments:15> case -S (-[Ss]) +_arguments:24> singopt+=( -S ) +_arguments:24> shift +_arguments:14> [[ '(-A -R -W -p -P)-I[include internal (new) events only]' = -([AMO]*|[0CRSWnsw]) ]] +_arguments:30> [[ '(-A -R -W -p -P)-I[include internal (new) events only]' = : ]] +_arguments:31> singopt+=( : ) +_arguments:33> [[ - = [-+] ]] +_arguments:33> alwopt=arg +_arguments:35> long=0 +_arguments:36> (( long )) +_arguments:325> zstyle -s :completion::complete:history::options auto-description autod +_arguments:327> (( 16 )) +_arguments:327> comparguments -i '' -s -S : '(-A -R -W -p -P)-I[include internal (new) events only]' '(-A -R -W -p -P)-L[include local events only]' '(-A -R -W -p -P)-r[reverse order of the events]' '(-A -R -W -e -p -P)-n[suppress line numbers]' '(-)1:first event:->events' '2:last event:->events' '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' '(-A -R -W -e -a -p -P)-D[print elapsed times]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' '(- *)-P[pop history from stack]' +_arguments:328> local action noargs aret expl local tried ret=1 +_arguments:329> local next direct odirect equal single matcher matched ws tmp1 tmp2 tmp3 +_arguments:330> local opts subc tc prefix suffix descrs actions subcs anum +_arguments:331> local origpre=- origipre='' nm=0 +_arguments:333> comparguments -D descrs actions subcs +_arguments:334> comparguments -O next direct odirect equal +_arguments:335> opts=yes +_arguments:336> _tags argument-1 options +_tags:3> local prev +_tags:10> [[ argument-1 = -- ]] +_tags:15> (( 2 )) +_tags:19> local curcontext=:complete:history: order tag nodef tmp +_tags:21> [[ argument-1 = -C?* ]] +_tags:24> [[ argument-1 = -C ]] +_tags:29> [[ argument-1 = -(|-) ]] +_tags:31> zstyle -a :completion::complete:history:: group-order order +_tags:36> comptags -i :complete:history: argument-1 options +_tags:40> [[ -n '' ]] +_tags:43> zstyle -a :completion::complete:history:: tag-order order +_tags:44> (( ! 2 )) +_tags:45> order=( '(|*-)argument-* (|*-)option[-+]* values' options ) +_tags:47> tag=(|*-)argument-* (|*-)option[-+]* values +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (-) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (!*) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (?*) +_tags:51> comptry -m '(|*-)argument-* (|*-)option[-+]* values' +_tags:47> tag=options +_tags:48> case options (-) +_tags:48> case options (!*) +_tags:48> case options (?*) +_tags:51> comptry -m options +_tags:55> [[ -z '' ]] +_tags:55> comptry argument-1 options +_tags:60> comptags -T +_tags:62> return +_arguments:358> comparguments -M matcher +_arguments:360> context=( ) +_arguments:361> state=( ) +_arguments:362> state_descr=( ) +_arguments:364> true +_arguments:365> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_arguments:366> anum=1 +_arguments:367> [[ -z '' ]] +_arguments:368> [[ anum -le 1 ]] +_arguments:370> action='->events' +_arguments:371> descr='first event' +_arguments:372> subc=argument-1 +_arguments:374> [[ argument-1 = argument* && -n '' ]] +_arguments:378> [[ -n '' ]] +_arguments:378> _requested argument-1 +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R argument-1 +_requested:9> [[ 1 -gt 3 ]] +_requested:11> [[ 1 -gt 1 ]] +_requested:14> return 0 +_arguments:380> curcontext=:complete:history:argument-1 +_arguments:382> _description argument-1 expl 'first event' +_description:3> local name nopt xopt format gname hidden hide match opts tag +_description:4> local -a ign gropt sort +_description:5> local -a match mbegin mend +_description:7> opts=( ) +_description:9> xopt=( -X ) +_description:10> nopt=( ) +_description:11> zparseopts -K -D -a nopt 1 2 'V=gropt' 'J=ign' 'x=xopt' +_description:13> 3='first event' +_description:14> [[ -n 'first event' ]] +_description:14> _lastdescr=( '' 'first event' ) +_description:16> zstyle -s :completion::complete:history:argument-1:argument-1 group-name gname +_description:19> _setup argument-1 -default- +_setup:3> local val nm=0 +_setup:5> [[ 2 -eq 1 ]] +_setup:7> zstyle -a :completion::complete:history:argument-1:argument-1 list-colors val +_setup:21> [[ argument-1 = default ]] +_setup:27> zstyle -s :completion::complete:history:argument-1:argument-1 show-ambiguity val +_setup:32> zstyle -t :completion::complete:history:argument-1:argument-1 list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion::complete:history:argument-1:argument-1 list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion::complete:history:argument-1:argument-1 last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion::complete:history:argument-1:argument-1 accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion::complete:history:argument-1:argument-1 menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion::complete:history:argument-1:argument-1 force-list val +_description:21> name=expl +_description:23> zstyle -s :completion::complete:history:argument-1:argument-1 format format +_description:24> zstyle -s :completion::complete:history:argument-1:descriptions format format +_description:26> zstyle -s :completion::complete:history:argument-1:argument-1 hidden hidden +_description:31> zstyle -s :completion::complete:history:argument-1:argument-1 matcher match +_description:33> [[ -n '' ]] +_description:37> [[ -z '' ]] +_description:38> zstyle -a :completion::complete:history:argument-1:argument-1 sort sort +_description:39> zstyle -a :completion::complete:history:argument-1: sort sort +_description:51> [[ -z '' ]] +_description:52> zstyle -a :completion::complete:history:argument-1:argument-1 ignored-patterns _comp_ignore +_description:53> _comp_ignore=( ) +_description:55> zstyle -s :completion::complete:history:argument-1:argument-1 ignore-line hidden +_description:71> (( 0 )) +_description:76> tag=argument-1 +_description:78> shift 2 +_description:79> [[ -z 'first event' ]] +_description:81> [[ -n '' ]] +_description:92> [[ -n '' ]] +_description:99> [[ -n '' ]] +_description:102> set -A expl -J -default- +_description:106> (( 0 )) +_description:107> local fakestyle descr +_description:108> fakestyle=fake +_description:109> zstyle -a :completion::complete:history:argument-1:argument-1 fake match +_description:110> continue +_description:108> fakestyle=fake-always +_description:109> zstyle -a :completion::complete:history:argument-1:argument-1 fake-always match +_description:110> continue +_description:123> return 0 +_arguments:384> [[ '->events' = \=\ * ]] +_arguments:390> [[ '->events' = -\>* ]] +_arguments:391> action=events +_arguments:392> (( ! 0 )) +_arguments:393> comparguments -W line opt_args 0 +_arguments:394> state+=( events ) +_arguments:395> state_descr+=( 'first event' ) +_arguments:396> [[ -n yes ]] +_arguments:397> curcontext=:complete:history:argument-1 +_arguments:401> compstate[restore]='' +_arguments:402> aret=yes +_arguments:368> [[ anum -le 1 ]] +_arguments:474> _requested options +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R options +_requested:16> return 1 +_arguments:536> [[ -n '' ]] +_arguments:365> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_arguments:366> anum=1 +_arguments:367> [[ -z '' ]] +_arguments:368> [[ anum -le 1 ]] +_arguments:370> action='->events' +_arguments:371> descr='first event' +_arguments:372> subc=argument-1 +_arguments:374> [[ argument-1 = argument* && -n '' ]] +_arguments:378> [[ -n '' ]] +_arguments:378> _requested argument-1 +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R argument-1 +_requested:16> return 1 +_arguments:368> [[ anum -le 1 ]] +_arguments:474> _requested options +_requested:3> local __gopt +_requested:5> __gopt=( ) +_requested:6> zparseopts -D -a __gopt 1 2 V J x +_requested:8> comptags -R options +_requested:9> [[ 1 -gt 3 ]] +_requested:11> [[ 1 -gt 1 ]] +_requested:14> return 0 +_arguments:475> [[ -z '' && -z '' && -z yes || - = - ]] +_arguments:478> zstyle -T :completion::complete:history:options prefix-needed +_arguments:479> [[ - = [-+]* ]] +_arguments:480> local prevpre=- previpre='' prevcontext=:complete:history:argument-1 +_arguments:482> curcontext=:complete:history:options +_arguments:484> hasopts=yes +_arguments:486> PREFIX=- +_arguments:487> IPREFIX='' +_arguments:489> [[ -z arg || -z '' ]] +_arguments:490> comparguments -s single +_arguments:526> next+=( ) +_arguments:527> _describe -O option next -M 'r:|[_-]=* r:|=*' -- direct -S '' -M 'r:|[_-]=* r:|=*' -- equal '-qS=' -M 'r:|[_-]=* r:|=*' +_describe:12> local _opt _expl _tmpm _tmpd _mlen _noprefix +_describe:13> local _type=values _descr _ret=1 _showd _nm _hide _args _grp _sep +_describe:14> local csl=ambiguous csl2 +_describe:15> local _oargv _argv _new _strs _mats _opts _i _try=0 +_describe:16> local OPTIND OPTARG +_describe:17> local -a _jvx12 +_describe:21> getopts oOt:12JVx _opt +_describe:22> case O (o) +_describe:22> case O (O) +_describe:26> _type=options +_describe:27> _noprefix=1 +_describe:21> getopts oOt:12JVx _opt +_describe:36> shift 1 +_describe:37> unset _opt +_describe:39> [[ options1 = options ]] +_describe:45> zstyle -T :completion::complete:history:options:options verbose +_describe:45> _showd=yes +_describe:47> zstyle -s :completion::complete:history:options:options list-separator _sep +_describe:47> _sep=-- +_describe:48> zstyle -s :completion::complete:history:options:options max-matches-width _mlen +_describe:49> _mlen=250 +_describe:51> _descr=option +_describe:52> shift +_describe:54> [[ -n yes ]] +_describe:55> zstyle -T :completion::complete:history:options:options list-grouped +_describe:59> _grp=( ) +_describe:62> [[ options = options ]] +_describe:63> zstyle -t :completion::complete:history:options:options prefix-hidden +_describe:66> _tags options +_tags:3> local prev +_tags:10> [[ options = -- ]] +_tags:15> (( 1 )) +_tags:19> local curcontext=:complete:history:options order tag nodef tmp +_tags:21> [[ options = -C?* ]] +_tags:24> [[ options = -C ]] +_tags:29> [[ options = -(|-) ]] +_tags:31> zstyle -a :completion::complete:history:options: group-order order +_tags:36> comptags -i :complete:history:options options +_tags:40> [[ -n '' ]] +_tags:43> zstyle -a :completion::complete:history:options: tag-order order +_tags:44> (( ! 1 )) +_tags:45> order=( '(|*-)argument-* (|*-)option[-+]* values' options ) +_tags:47> tag=(|*-)argument-* (|*-)option[-+]* values +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (-) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (!*) +_tags:48> case (|*-)argument-* (|*-)option[-+]* values (?*) +_tags:51> comptry -m '(|*-)argument-* (|*-)option[-+]* values' +_tags:47> tag=options +_tags:48> case options (-) +_tags:48> case options (!*) +_tags:48> case options (?*) +_tags:51> comptry -m options +_tags:55> [[ -z '' ]] +_tags:55> comptry options +_tags:60> comptags -T +_tags:62> return +_describe:67> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_describe:68> _next_label options _expl option +_next_label:3> local __gopt __descr __spec +_next_label:5> __gopt=( ) +_next_label:6> zparseopts -D -a __gopt 1 2 V J x +_next_label:8> comptags -A options curtag __spec +_next_label:9> (( 13 > _tags_level )) +_next_label:9> _comp_tags='' +_next_label:10> _tags_level=13 +_next_label:11> _comp_tags=' options ' +_next_label:12> [[ options = *[^\\]:* ]] +_next_label:18> _description options _expl option +_description:3> local name nopt xopt format gname hidden hide match opts tag +_description:4> local -a ign gropt sort +_description:5> local -a match mbegin mend +_description:7> opts=( ) +_description:9> xopt=( -X ) +_description:10> nopt=( ) +_description:11> zparseopts -K -D -a nopt 1 2 'V=gropt' 'J=ign' 'x=xopt' +_description:13> 3=option +_description:14> [[ -n option ]] +_description:14> _lastdescr=( '' 'first event' option ) +_description:16> zstyle -s :completion::complete:history:options:options group-name gname +_description:19> _setup options -default- +_setup:3> local val nm=0 +_setup:5> [[ 2 -eq 1 ]] +_setup:7> zstyle -a :completion::complete:history:options:options list-colors val +_setup:21> [[ options = default ]] +_setup:27> zstyle -s :completion::complete:history:options:options show-ambiguity val +_setup:32> zstyle -t :completion::complete:history:options:options list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion::complete:history:options:options list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion::complete:history:options:options last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion::complete:history:options:options accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion::complete:history:options:options menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion::complete:history:options:options force-list val +_description:21> name=_expl +_description:23> zstyle -s :completion::complete:history:options:options format format +_description:24> zstyle -s :completion::complete:history:options:descriptions format format +_description:26> zstyle -s :completion::complete:history:options:options hidden hidden +_description:31> zstyle -s :completion::complete:history:options:options matcher match +_description:33> [[ -n '' ]] +_description:37> [[ -z '' ]] +_description:38> zstyle -a :completion::complete:history:options:options sort sort +_description:39> zstyle -a :completion::complete:history:options: sort sort +_description:51> [[ -z '' ]] +_description:52> zstyle -a :completion::complete:history:options:options ignored-patterns _comp_ignore +_description:53> _comp_ignore=( ) +_description:55> zstyle -s :completion::complete:history:options:options ignore-line hidden +_description:71> (( 0 )) +_description:76> tag=options +_description:78> shift 2 +_description:79> [[ -z option ]] +_description:81> [[ -n '' ]] +_description:92> [[ -n '' ]] +_description:99> [[ -n '' ]] +_description:102> set -A _expl -J -default- +_description:106> (( 0 )) +_description:107> local fakestyle descr +_description:108> fakestyle=fake +_description:109> zstyle -a :completion::complete:history:options:options fake match +_description:110> continue +_description:108> fakestyle=fake-always +_description:109> zstyle -a :completion::complete:history:options:options fake-always match +_description:110> continue +_description:123> return 0 +_next_label:19> set -A _expl -J -default- +_next_label:22> return 0 +_describe:70> (( 0 )) +_describe:121> [[ -n yes ]] +_describe:122> compdescribe -I '' 250 '-- ' _expl next -M 'r:|[_-]=* r:|=*' -- direct -S '' -M 'r:|[_-]=* r:|=*' -- equal '-qS=' -M 'r:|[_-]=* r:|=*' +_describe:127> compstate[list]=ambiguous +_describe:129> compdescribe -g csl2 _args _tmpm _tmpd +_describe:131> compstate[list]='ambiguous ' +_describe:132> [[ -n '' ]] +_describe:134> compadd -l -M 'r:|[_-]=* r:|=*' -J -default- -d _tmpd -a _tmpm +compadd:1> local -A apre hpre dscrs _oad _mesg +compadd:2> local -a isfile _opts __ expl +compadd:3> zparseopts -E -a _opts 'P:=apre' 'p:=hpre' 'd:=dscrs' 'X+:=expl' 'O:=_oad' 'A:=_oad' 'D:=_oad' 'f=isfile' i: S: s: I: 'x:=_mesg' r: R: W: F: M+: E: q e Q n U C 'J:=__' 'V:=__' 'a=__' 'l=__' 'k=__' 'o=__' '1=__' '2=__' +compadd:4> _ftb_curcontext=complete:history:options +compadd:5> (( 0 != 0 || ! IN_FZF_TAB )) +compadd:6> -ftb-zstyle -m disabled-on any +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:options disabled-on any +compadd:9> -ftb-zstyle -m disabled-on files +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:options disabled-on files +compadd:16> local -a __hits __dscr +compadd:17> (( 1 == 1 )) +compadd:19> __dscr=( '-I -- include internal (new) events only' '-L -- include local events only' '-r -- reverse order of the events' '-n -- suppress line numbers' '-m -- treat argument as a pattern' '-d -- print time-stamps' '-f -- mm/dd/yyyy format time-stamps' '-E -- dd.mm.yyyy format time-stamps' '-i -- yyyy-mm-dd format time-stamps' '-t -- print time-stamps in specified format' '-D -- print elapsed times' '-a -- with -p, automatically pop history on function return' '-p -- push current history to stack' '-P -- pop history from stack' ) +compadd:21> compadd -A __hits -D __dscr -l -M 'r:|[_-]=* r:|=*' -J -default- -d _tmpd -a _tmpm +compadd:22> local ret=1 +compadd:23> (( 14 == 0 )) +compadd:31> expl='' +compadd:32> [[ -n '' ]] +compadd:33> local -a keys=( apre hpre PREFIX SUFFIX IPREFIX ISUFFIX ) +compadd:34> local key expanded __tmp_value=$'<\C-@>' +compadd:35> key=apre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=hpre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=PREFIX +compadd:37> expanded=- +compadd:38> [[ -n - ]] +compadd:40> __tmp_value+=$'\C-@PREFIX\C-@-' +compadd:35> key=SUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=IPREFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=ISUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:43> [[ -n '' ]] +compadd:47> [[ -n '' ]] +compadd:51> _opts+=( ) +compadd:52> __tmp_value+=$'\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*' +compadd:53> (( 0 )) +compadd:57> local dscr word i +compadd:58> i=1 +compadd:60> word=-I dscr='-I -- include internal (new) events only' +compadd:61> [[ -n '-I -- include internal (new) events only' ]] +compadd:63> dscr='-I -- include internal (new) events only' +compadd:68> _ftb_compcap+=$'-I -- include internal (new) events only\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-I' +compadd:58> i=2 +compadd:60> word=-L dscr='-L -- include local events only' +compadd:61> [[ -n '-L -- include local events only' ]] +compadd:63> dscr='-L -- include local events only' +compadd:68> _ftb_compcap+=$'-L -- include local events only\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-L' +compadd:58> i=3 +compadd:60> word=-r dscr='-r -- reverse order of the events' +compadd:61> [[ -n '-r -- reverse order of the events' ]] +compadd:63> dscr='-r -- reverse order of the events' +compadd:68> _ftb_compcap+=$'-r -- reverse order of the events\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-r' +compadd:58> i=4 +compadd:60> word=-n dscr='-n -- suppress line numbers' +compadd:61> [[ -n '-n -- suppress line numbers' ]] +compadd:63> dscr='-n -- suppress line numbers' +compadd:68> _ftb_compcap+=$'-n -- suppress line numbers\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-n' +compadd:58> i=5 +compadd:60> word=-m dscr='-m -- treat argument as a pattern' +compadd:61> [[ -n '-m -- treat argument as a pattern' ]] +compadd:63> dscr='-m -- treat argument as a pattern' +compadd:68> _ftb_compcap+=$'-m -- treat argument as a pattern\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-m' +compadd:58> i=6 +compadd:60> word=-d dscr='-d -- print time-stamps' +compadd:61> [[ -n '-d -- print time-stamps' ]] +compadd:63> dscr='-d -- print time-stamps' +compadd:68> _ftb_compcap+=$'-d -- print time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-d' +compadd:58> i=7 +compadd:60> word=-f dscr='-f -- mm/dd/yyyy format time-stamps' +compadd:61> [[ -n '-f -- mm/dd/yyyy format time-stamps' ]] +compadd:63> dscr='-f -- mm/dd/yyyy format time-stamps' +compadd:68> _ftb_compcap+=$'-f -- mm/dd/yyyy format time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-f' +compadd:58> i=8 +compadd:60> word=-E dscr='-E -- dd.mm.yyyy format time-stamps' +compadd:61> [[ -n '-E -- dd.mm.yyyy format time-stamps' ]] +compadd:63> dscr='-E -- dd.mm.yyyy format time-stamps' +compadd:68> _ftb_compcap+=$'-E -- dd.mm.yyyy format time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-E' +compadd:58> i=9 +compadd:60> word=-i dscr='-i -- yyyy-mm-dd format time-stamps' +compadd:61> [[ -n '-i -- yyyy-mm-dd format time-stamps' ]] +compadd:63> dscr='-i -- yyyy-mm-dd format time-stamps' +compadd:68> _ftb_compcap+=$'-i -- yyyy-mm-dd format time-stamps\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-i' +compadd:58> i=10 +compadd:60> word=-t dscr='-t -- print time-stamps in specified format' +compadd:61> [[ -n '-t -- print time-stamps in specified format' ]] +compadd:63> dscr='-t -- print time-stamps in specified format' +compadd:68> _ftb_compcap+=$'-t -- print time-stamps in specified format\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-t' +compadd:58> i=11 +compadd:60> word=-D dscr='-D -- print elapsed times' +compadd:61> [[ -n '-D -- print elapsed times' ]] +compadd:63> dscr='-D -- print elapsed times' +compadd:68> _ftb_compcap+=$'-D -- print elapsed times\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-D' +compadd:58> i=12 +compadd:60> word=-a dscr='-a -- with -p, automatically pop history on function return' +compadd:61> [[ -n '-a -- with -p, automatically pop history on function return' ]] +compadd:63> dscr='-a -- with -p, automatically pop history on function return' +compadd:68> _ftb_compcap+=$'-a -- with -p, automatically pop history on function return\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-a' +compadd:58> i=13 +compadd:60> word=-p dscr='-p -- push current history to stack' +compadd:61> [[ -n '-p -- push current history to stack' ]] +compadd:63> dscr='-p -- push current history to stack' +compadd:68> _ftb_compcap+=$'-p -- push current history to stack\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-p' +compadd:58> i=14 +compadd:60> word=-P dscr='-P -- pop history from stack' +compadd:61> [[ -n '-P -- pop history from stack' ]] +compadd:63> dscr='-P -- pop history from stack' +compadd:68> _ftb_compcap+=$'-P -- pop history from stack\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@-M\C-Ar:|[_-]=* r:|=*\C-@word\C-@-P' +compadd:71> compadd -l -M 'r:|[_-]=* r:|=*' -J -default- -d _tmpd -a _tmpm +_describe:134> _ret=0 +_describe:129> compdescribe -g csl2 _args _tmpm _tmpd +_describe:68> _next_label options _expl option +_next_label:3> local __gopt __descr __spec +_next_label:5> __gopt=( ) +_next_label:6> zparseopts -D -a __gopt 1 2 V J x +_next_label:8> comptags -A options curtag __spec +_next_label:25> return 1 +_describe:137> (( _ret )) +_describe:137> return 0 +_arguments:532> PREFIX=- +_arguments:533> IPREFIX='' +_arguments:534> curcontext=:complete:history:argument-1 +_arguments:536> [[ -n '' ]] +_arguments:365> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_arguments:538> [[ -n yes && -z yes ]] +_arguments:566> break +_arguments:569> [[ -z yes || -z yes ]] +_arguments:571> [[ -n yes ]] +_arguments:572> [[ -n '' ]] +_arguments:586> [[ nm -ne 14 ]] +_fc:55> ret=0 +_fc:71> [[ -n events ]] +_fc:72> zstyle -s :completion::complete:history:argument-1: list-separator sep +_fc:72> sep=-- +_fc:73> [[ -z - ]] +_fc:75> [[ ›prefix [0-9] ]] +_fc:79> [[ ›prefix - ]] +_fc:80> num=1 +_fc:80> cmd=: +_fc:81> (( num=num - HISTNO )) +_fc:82> events+=( '-1 -- :' ) +_fc:84> _wanted -2V events expl 'first event' compadd -ld events - -1 +_wanted:3> local -a __targs __gopt +_wanted:5> zparseopts -D -a __gopt 1 2 V J x 'C:=__targs' +_wanted:7> _tags events +_tags:3> local prev +_tags:10> [[ events = -- ]] +_tags:15> (( 1 )) +_tags:19> local curcontext=:complete:history:argument-1 order tag nodef tmp +_tags:21> [[ events = -C?* ]] +_tags:24> [[ events = -C ]] +_tags:29> [[ events = -(|-) ]] +_tags:31> zstyle -a :completion::complete:history:argument-1: group-order order +_tags:36> comptags -i :complete:history:argument-1 events +_tags:40> [[ -n '' ]] +_tags:43> zstyle -a :completion::complete:history:argument-1: tag-order order +_tags:44> (( ! 0 )) +_tags:55> [[ -z '' ]] +_tags:55> comptry events +_tags:60> comptags -T +_tags:62> return +_wanted:9> _tags +_tags:3> local prev +_tags:10> [[ '' = -- ]] +_tags:15> (( 0 )) +_tags:67> comptags -N +_wanted:10> _all_labels -2 -V events expl 'first event' compadd -ld events - -1 +_all_labels:3> local __gopt __len __tmp __pre __suf __ret=1 __descr __spec __prev +_all_labels:5> [[ -2 = - ]] +_all_labels:10> __gopt=( ) +_all_labels:11> zparseopts -D -a __gopt 1 2 V J x +_all_labels:13> __tmp=7 +_all_labels:14> __len=8 +_all_labels:15> [[ __tmp -lt __len ]] +_all_labels:16> __pre=6 +_all_labels:17> __suf=7 +_all_labels:26> comptags -A events curtag __spec +_all_labels:27> (( 12 > _tags_level )) +_all_labels:28> _tags_level=12 +_all_labels:29> _comp_tags=' options events ' +_all_labels:30> [[ events = *[^\\]:* ]] +_all_labels:37> _description -2 -V events expl 'first event' +_description:3> local name nopt xopt format gname hidden hide match opts tag +_description:4> local -a ign gropt sort +_description:5> local -a match mbegin mend +_description:7> opts=( ) +_description:9> xopt=( -X ) +_description:10> nopt=( ) +_description:11> zparseopts -K -D -a nopt 1 2 'V=gropt' 'J=ign' 'x=xopt' +_description:13> 3='first event' +_description:14> [[ -n 'first event' ]] +_description:14> _lastdescr=( '' 'first event' option 'first event' ) +_description:16> zstyle -s :completion::complete:history:argument-1:events group-name gname +_description:19> _setup events -default- +_setup:3> local val nm=14 +_setup:5> [[ 2 -eq 1 ]] +_setup:7> zstyle -a :completion::complete:history:argument-1:events list-colors val +_setup:21> [[ events = default ]] +_setup:27> zstyle -s :completion::complete:history:argument-1:events show-ambiguity val +_setup:32> zstyle -t :completion::complete:history:argument-1:events list-packed +_setup:34> [[ 2 -eq 1 ]] +_setup:37> compstate[list]=ambiguous +_setup:40> zstyle -t :completion::complete:history:argument-1:events list-rows-first +_setup:42> [[ 2 -eq 1 ]] +_setup:45> compstate[list]=ambiguous +_setup:48> zstyle -t :completion::complete:history:argument-1:events last-prompt +_setup:50> [[ 2 -eq 1 ]] +_setup:53> compstate[last_prompt]=yes +_setup:56> zstyle -t :completion::complete:history:argument-1:events accept-exact +_setup:58> [[ 2 -eq 1 ]] +_setup:61> compstate[exact]='' +_setup:64> [[ _last_nmatches -ge 0 ]] +_setup:67> zstyle -a :completion::complete:history:argument-1:events menu val +_setup:71> _last_nmatches=-1 +_setup:74> [[ '' != always ]] +_setup:75> zstyle -s :completion::complete:history:argument-1:events force-list val +_description:21> name=expl +_description:23> zstyle -s :completion::complete:history:argument-1:events format format +_description:24> zstyle -s :completion::complete:history:argument-1:descriptions format format +_description:26> zstyle -s :completion::complete:history:argument-1:events hidden hidden +_description:31> zstyle -s :completion::complete:history:argument-1:events matcher match +_description:33> [[ -n '' ]] +_description:37> [[ -z -V ]] +_description:48> gropt=( -o nosort ) +_description:51> [[ -z '' ]] +_description:52> zstyle -a :completion::complete:history:argument-1:events ignored-patterns _comp_ignore +_description:53> _comp_ignore=( ) +_description:55> zstyle -s :completion::complete:history:argument-1:events ignore-line hidden +_description:71> (( 0 )) +_description:76> tag=events +_description:78> shift 2 +_description:79> [[ -z 'first event' ]] +_description:81> [[ -n '' ]] +_description:92> [[ -n '' ]] +_description:99> [[ -n '' ]] +_description:102> set -A expl -2 -o nosort -J -default- +_description:106> (( 0 )) +_description:107> local fakestyle descr +_description:108> fakestyle=fake +_description:109> zstyle -a :completion::complete:history:argument-1:events fake match +_description:110> continue +_description:108> fakestyle=fake-always +_description:109> zstyle -a :completion::complete:history:argument-1:events fake-always match +_description:110> continue +_description:123> return 0 +_all_labels:39> compadd -ld events -2 -o nosort -J -default- - -1 +compadd:1> local -A apre hpre dscrs _oad _mesg +compadd:2> local -a isfile _opts __ expl +compadd:3> zparseopts -E -a _opts 'P:=apre' 'p:=hpre' 'd:=dscrs' 'X+:=expl' 'O:=_oad' 'A:=_oad' 'D:=_oad' 'f=isfile' i: S: s: I: 'x:=_mesg' r: R: W: F: M+: E: q e Q n U C 'J:=__' 'V:=__' 'a=__' 'l=__' 'k=__' 'o=__' '1=__' '2=__' +compadd:4> _ftb_curcontext=complete:history:argument-1 +compadd:5> (( 0 != 0 || ! IN_FZF_TAB )) +compadd:6> -ftb-zstyle -m disabled-on any +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:argument-1 disabled-on any +compadd:9> -ftb-zstyle -m disabled-on files +-ftb-zstyle:1> zstyle -m :fzf-tab:complete:history:argument-1 disabled-on files +compadd:16> local -a __hits __dscr +compadd:17> (( 1 == 1 )) +compadd:19> __dscr=( '-1 -- :' ) +compadd:21> compadd -A __hits -D __dscr -ld events -2 -o nosort -J -default- - -1 +compadd:22> local ret=1 +compadd:23> (( 1 == 0 )) +compadd:31> expl='' +compadd:32> [[ -n '' ]] +compadd:33> local -a keys=( apre hpre PREFIX SUFFIX IPREFIX ISUFFIX ) +compadd:34> local key expanded __tmp_value=$'<\C-@>' +compadd:35> key=apre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=hpre +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=PREFIX +compadd:37> expanded=- +compadd:38> [[ -n - ]] +compadd:40> __tmp_value+=$'\C-@PREFIX\C-@-' +compadd:35> key=SUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=IPREFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:35> key=ISUFFIX +compadd:37> expanded='' +compadd:38> [[ -n '' ]] +compadd:43> [[ -n '' ]] +compadd:47> [[ -n '' ]] +compadd:51> _opts+=( ) +compadd:52> __tmp_value+=$'\C-@args\C-@' +compadd:53> (( 0 )) +compadd:57> local dscr word i +compadd:58> i=1 +compadd:60> word=-1 dscr='-1 -- :' +compadd:61> [[ -n '-1 -- :' ]] +compadd:63> dscr='-1 -- :' +compadd:68> _ftb_compcap+=$'-1 -- :\C-B<\C-@>\C-@PREFIX\C-@-\C-@args\C-@\C-@word\C-@-1' +compadd:71> compadd -ld events -2 -o nosort -J -default- - -1 +_all_labels:39> __ret=0 +_all_labels:26> comptags -A events curtag __spec +_all_labels:43> return __ret +_wanted:10> return 0 +_fc:90> ret=0 +_fc:92> return ret +_dispatch:63> ret=0 +_dispatch:64> [[ patterns = (all|*patterns*) ]] +_dispatch:64> return ret +_complete:117> ret=0 +_complete:142> _compskip='' +_complete:144> return ret +_ftb__main_complete:145> ret=0 +_ftb__main_complete:146> break 2 +_ftb__main_complete:153> curcontext=::: +_ftb__main_complete:154> [[ '' = keep ]] +_ftb__main_complete:158> nm=15 +_ftb__main_complete:160> [[ '' = keep || nm -gt 1 ]] +_ftb__main_complete:162> [[ _last_nmatches -ge 0 ]] +_ftb__main_complete:163> tmp=17 +_ftb__main_complete:164> _menu_style=( '' '' ) +_ftb__main_complete:165> [[ ambiguous = *list(|\ *) ]] +_ftb__main_complete:168> [[ automenu-unambiguous = automenu-unambiguous ]] +_ftb__main_complete:170> [[ -n automenu-unambiguous && -n '' ]] +_ftb__main_complete:174> sel=( ) +_ftb__main_complete:175> (( 0 )) +_ftb__main_complete:194> sel=( ) +_ftb__main_complete:195> (( 0 )) +_ftb__main_complete:214> [[ -n '' || -n '' ]] +_ftb__main_complete:217> [[ -n '' ]] +_ftb__main_complete:220> [[ -n '' ]] +_ftb__main_complete:226> [[ automenu-unambiguous = *menu* ]] +_ftb__main_complete:228> [[ '' = 00 ]] +_ftb__main_complete:229> [[ -n '' ]] +_ftb__main_complete:232> [[ -n '' ]] +_ftb__main_complete:240> [[ '' != 00 ]] +_ftb__main_complete:242> sel=( ) +_ftb__main_complete:243> (( 0 )) +_ftb__main_complete:264> unset MENUSELECT +_ftb__main_complete:267> [[ -n '' ]] +_ftb__main_complete:303> [[ -n '' ]] +_ftb__main_complete:309> [[ '' = always || '' = ?* ]] +_ftb__main_complete:311> [[ '' = keep ]] +_ftb__main_complete:319> (( 0 )) +_ftb__main_complete:323> unset ZLS_COLORS +_ftb__main_complete:326> funcs=( ) +_ftb__main_complete:327> comppostfuncs=( ) +_ftb__main_complete:332> _lastcomp=( list_lines 15 all_quotes '\' nmatches 15 restore auto context command vared '' unambiguous '' list_max 100 unambiguous_cursor 1 list ambiguous insert_positions 8 unambiguous_positions 0 exact '' to_end match last_prompt yes pattern_insert menu ignored 0 insert automenu-unambiguous ) +_ftb__main_complete:333> _lastcomp[nmatches]=15 +_ftb__main_complete:334> _lastcomp[completer]=complete +_ftb__main_complete:335> _lastcomp[prefix]=- +_ftb__main_complete:336> _lastcomp[suffix]='' +_ftb__main_complete:337> _lastcomp[iprefix]='' +_ftb__main_complete:338> _lastcomp[isuffix]='' +_ftb__main_complete:339> _lastcomp[qiprefix]='' +_ftb__main_complete:340> _lastcomp[qisuffix]='' +_ftb__main_complete:341> _lastcomp[tags]=' options events ' +_ftb__main_complete:342> return ret +-ftb-complete:8> (( 0 )) +-ftb-complete:10> emulate -L zsh -o extended_glob +-ftb-complete:12> local _ftb_query _ftb_complist=( ) _ftb_headers=( ) command opts +-ftb-complete:13> -ftb-generate-complist +-ftb-generate-complist:3> local dsuf dpre k _v filepath first_word show_group default_color prefix bs=$'\C-H' +-ftb-generate-complist:4> local -a list_colors group_colors tcandidates reply match mbegin mend +-ftb-generate-complist:5> local -i same_word=1 colorful=0 +-ftb-generate-complist:6> local -Ua duplicate_groups=( ) +-ftb-generate-complist:7> local -A word_map=( ) +-ftb-generate-complist:9> (( 15 == 0 )) +-ftb-generate-complist:11> -ftb-zstyle -s show-group show_group +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 show-group show_group +-ftb-generate-complist:11> show_group=full +-ftb-generate-complist:12> -ftb-zstyle -s default-color default_color +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 default-color default_color +-ftb-generate-complist:12> default_color=$'\C-[[37m' +-ftb-generate-complist:13> -ftb-zstyle -s prefix prefix +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 prefix prefix +-ftb-generate-complist:14> zstyle -m ':completion:*:descriptions' format '*' +-ftb-generate-complist:16> -ftb-zstyle -a group-colors group_colors +-ftb-zstyle:1> zstyle -a :fzf-tab:complete:history:argument-1 group-colors group_colors +-ftb-generate-complist:16> group_colors=( $'\C-[[94m' $'\C-[[32m' $'\C-[[33m' $'\C-[[35m' $'\C-[[31m' $'\C-[[38;5;27m' $'\C-[[36m' $'\C-[[38;5;100m' $'\C-[[38;5;98m' $'\C-[[91m' $'\C-[[38;5;80m' $'\C-[[92m' $'\C-[[38;5;214m' $'\C-[[38;5;165m' $'\C-[[38;5;124m' $'\C-[[38;5;120m' ) +-ftb-generate-complist:17> zstyle -a :completion:complete:history:argument-1 list-colors list_colors +-ftb-generate-complist:20> (( 0 )) +-ftb-generate-complist:23> local -A namecolors=( ) +-ftb-generate-complist:24> local -A modecolors=( ) +-ftb-generate-complist:25> (( 0 == 0 && 0 == 0 )) +-ftb-generate-complist:25> list_colors=( ) +-ftb-generate-complist:28> (( 0 == 1 )) +-ftb-generate-complist:33> (( 0 )) +-ftb-generate-complist:36> k=-I -- include internal (new) events only +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -I +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -I ) +-ftb-generate-complist:38> [[ -I == -I ]] +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-I -- include internal (new) events only\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-L -- include local events only +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -L +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -L ) +-ftb-generate-complist:38> [[ -L == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-L -- include local events only\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-r -- reverse order of the events +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -r +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -r ) +-ftb-generate-complist:38> [[ -r == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-r -- reverse order of the events\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-n -- suppress line numbers +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -n +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -n ) +-ftb-generate-complist:38> [[ -n == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-n -- suppress line numbers\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-m -- treat argument as a pattern +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -m +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -m ) +-ftb-generate-complist:38> [[ -m == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-m -- treat argument as a pattern\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-d -- print time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -d +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -d ) +-ftb-generate-complist:38> [[ -d == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-d -- print time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-f -- mm/dd/yyyy format time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -f +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -f ) +-ftb-generate-complist:38> [[ -f == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-f -- mm/dd/yyyy format time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-E -- dd.mm.yyyy format time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -E +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -E ) +-ftb-generate-complist:38> [[ -E == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-E -- dd.mm.yyyy format time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-i -- yyyy-mm-dd format time-stamps +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -i +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -i ) +-ftb-generate-complist:38> [[ -i == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-i -- yyyy-mm-dd format time-stamps\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-t -- print time-stamps in specified format +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -t +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -t ) +-ftb-generate-complist:38> [[ -t == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-t -- print time-stamps in specified format\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-D -- print elapsed times +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -D +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -D ) +-ftb-generate-complist:38> [[ -D == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-D -- print elapsed times\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-a -- with -p, automatically pop history on function return +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -a +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -a ) +-ftb-generate-complist:38> [[ -a == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-a -- with -p, automatically pop history on function return\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-p -- push current history to stack +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -p +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -p ) +-ftb-generate-complist:38> [[ -p == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-p -- push current history to stack\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-P -- pop history from stack +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ -Mr:|[_-]=* r:|=*ƒ wordƒ -P +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args $'-M\C-Ar:|[_-]=* r:|=*' word -P ) +-ftb-generate-complist:38> [[ -P == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-P -- pop history from stack\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:36> k=-1 -- : +-ftb-generate-complist:36> _v=<ƒ >ƒ PREFIXƒ -ƒ argsƒ ƒ wordƒ -1 +-ftb-generate-complist:37> local -A v=( '<' '>' PREFIX - args '' word -1 ) +-ftb-generate-complist:38> [[ -1 == -I ]] +-ftb-generate-complist:38> same_word=0 +-ftb-generate-complist:41> dsuf='' dpre='' +-ftb-generate-complist:42> (( 0 )) +-ftb-generate-complist:61> (( 0 )) +-ftb-generate-complist:67> tcandidates+=$'\C-[[37m\C-@-1 -- :\C-@' +-ftb-generate-complist:71> [[ full == brief ]] +-ftb-generate-complist:81> (( same_word )) +-ftb-generate-complist:84> zstyle -T :completion:complete:history:argument-1 sort +-ftb-generate-complist:85> (( 0 != 1 )) +-ftb-generate-complist:86> (( colorful )) +-ftb-generate-complist:97> tcandidates=( $'\C-[[37m\C-@-1 -- :\C-@' $'\C-[[37m\C-@-D -- print elapsed times\C-@' $'\C-[[37m\C-@-E -- dd.mm.yyyy format time-stamps\C-@' $'\C-[[37m\C-@-I -- include internal (new) events only\C-@' $'\C-[[37m\C-@-L -- include local events only\C-@' $'\C-[[37m\C-@-P -- pop history from stack\C-@' $'\C-[[37m\C-@-a -- with -p, automatically pop history on function return\C-@' $'\C-[[37m\C-@-d -- print time-stamps\C-@' $'\C-[[37m\C-@-f -- mm/dd/yyyy format time-stamps\C-@' $'\C-[[37m\C-@-i -- yyyy-mm-dd format time-stamps\C-@' $'\C-[[37m\C-@-m -- treat argument as a pattern\C-@' $'\C-[[37m\C-@-n -- suppress line numbers\C-@' $'\C-[[37m\C-@-p -- push current history to stack\C-@' $'\C-[[37m\C-@-r -- reverse order of the events\C-@' $'\C-[[37m\C-@-t -- print time-stamps in specified format\C-@' ) +-ftb-generate-complist:100> typeset -gUa _ftb_complist=( $'\C-[[37m\C-@-1 -- :\C-@' $'\C-[[37m\C-@-D -- print elapsed times\C-@' $'\C-[[37m\C-@-E -- dd.mm.yyyy format time-stamps\C-@' $'\C-[[37m\C-@-I -- include internal (new) events only\C-@' $'\C-[[37m\C-@-L -- include local events only\C-@' $'\C-[[37m\C-@-P -- pop history from stack\C-@' $'\C-[[37m\C-@-a -- with -p, automatically pop history on function return\C-@' $'\C-[[37m\C-@-d -- print time-stamps\C-@' $'\C-[[37m\C-@-f -- mm/dd/yyyy format time-stamps\C-@' $'\C-[[37m\C-@-i -- yyyy-mm-dd format time-stamps\C-@' $'\C-[[37m\C-@-m -- treat argument as a pattern\C-@' $'\C-[[37m\C-@-n -- suppress line numbers\C-@' $'\C-[[37m\C-@-p -- push current history to stack\C-@' $'\C-[[37m\C-@-r -- reverse order of the events\C-@' $'\C-[[37m\C-@-t -- print time-stamps in specified format\C-@' ) +-ftb-generate-complist:103> (( 0 )) +-ftb-complete:15> -ftb-zstyle -s continuous-trigger continuous_trigger +-ftb-zstyle:1> zstyle -s :fzf-tab:complete:history:argument-1 continuous-trigger continuous_trigger +-ftb-complete:16> [[ linux-gnu == msys ]] +-ftb-complete:16> continuous_trigger=/ +-ftb-complete:19> case 15 (0) +-ftb-complete:19> case 15 (1) +-ftb-complete:19> case 15 (*) +-ftb-complete:29> (( ! _ftb_continue_last )) +-ftb-complete:30> [[ automenu-unambiguous == *unambiguous ]] +-ftb-complete:31> [[ '' != - ]] +-ftb-complete:32> compstate[list]='' +-ftb-complete:33> compstate[insert]=unambiguous +-ftb-complete:34> _ftb_finish=1 +-ftb-complete:35> return 0 +fzf-tab-complete:11> ret=1 +fzf-tab-complete:12> (( ! ret && ! _ftb_finish )) +fzf-tab-complete:16> IN_FZF_TAB=0 +fzf-tab-complete:18> (( _ftb_continue )) +fzf-tab-complete:6> (( _ftb_continue )) +fzf-tab-complete:25> echoti cnorm +fzf-tab-complete:26> zle .redisplay +fzf-tab-complete:27> (( _ftb_accept )) +fzf-tab-complete:28> return 1 ```
Aloxaf commented 2 months ago

Can you try #432 ?

SPiCaRiA commented 2 months ago

Can you try #432 ?

Yes, I can confirm that this branch fixes the issue. (I tried history fc type typeset and local and they all look good!) Thank you!