...Running completion function 'f' with arguments ['', 'f', ''] comp.first , commands_changed: [] COMPREPLY (value.StrArray strs:[f1 f2]) ... --- Case 3: 'noflags foo:bar --color=auto\t' with flags [] [] ['frontend', 'fastlex.so'] py (UserSpec [TestAction] pred = at 0x7f81efc57230>) rb (None, None) (command.FuncDef name: f body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[8]) op: Equal rhs: (word.CompoundWord parts: [ (word_part.ArrayLiteralPart words: [ (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_Chars val:f1 span_id:10))] ) (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_Chars val:f2 span_id:12))] ) ] ) ] ) spids: [8] ) ] spids: [8] ) ] spids: [5] ) spids: [1 4] ) words: {(noflags)} {(foo) (Lit_Other ':') (bar)} {(--color) (Lit_Other '=') (auto) (Lit_CompDummy '')} redirects: tokens: <--color> alias_words: line: 'noflags foo:bar --color=auto' rl_slice from byte 24 to 28: 'auto' t1 (token id:Lit_CompDummy val:'' span_id:9) t2 (token id:Lit_Chars val:auto span_id:8) Completing words partial_argv: ['noflags', 'foo:bar', '--color=auto'] alias_words: [] Running completion function 'my_complete' with arguments ['noflags', '--color=auto', 'foo:bar'] Completing 'noflags foo:bar --color=auto' ... (Ctrl-C to cancel) ok comp.first noflags, commands_changed: [] COMPREPLY (value.StrArray strs:[dummy]) matches = ['dummy '] --- Case 4: 'noflags "foo:bar|" --color=auto\t' with flags [] ... 1 match for 'noflags foo:bar --color=auto' in 4 ms (Ctrl-C to cancel) Found 1 match for 'noflags foo:bar --color=auto' in 4 ms words: {(noflags)} {(DQ ('foo:bar|'))} {(--color) (Lit_Other '=') (auto) (Lit_CompDummy '')} redirects: tokens: <'foo:bar|'> <--color> alias_words: line: 'noflags "foo:bar|" --color=auto' rl_slice from byte 27 to 31: 'auto' t1 (token id:Lit_CompDummy val:'' span_id:9) t2 (token id:Lit_Chars val:auto span_id:8) Completing words partial_argv: ['noflags', 'foo:bar|', '--color=auto'] alias_words: [] Running completion function 'my_complete' with arguments ['noflags', '--color=auto', 'foo:bar|'] Completing 'noflags "foo:bar|" --color=auto' ... (Ctrl-C to cancel) ok Non-fatal assertion failed: COMP_WORDS: Expected noflags "foo:bar|" --color = auto, got noflags foo : bar| --color = auto Non-fatal assertion failed: COMP_CWORD: Expected 4, got 6 Non-fatal assertion failed: COMP_WORDS: Expected noflags "foo:bar|" --color = auto, got noflags foo : bar| --color = auto Non-fatal assertion failed: cword: Expected 4, got 6 comp.first noflags, commands_changed: [] COMPREPLY (value.StrArray strs:[dummy]) matches = ['dummy '] --- Case 5: 'noflags "foo:bar|\t' with flags [] ... 1 match for 'noflags "foo:bar|" --color=auto' in 3 ms (Ctrl-C to cancel) Found 1 match for 'noflags "foo:bar|" --color=auto' in 3 ms words: redirects: tokens: <'foo:bar|'> alias_words: line: 'noflags "foo:bar|' rl_slice from byte 17 to 17: '' t1 (token id:Lit_CompDummy val:'' span_id:4) t2 (token id:Lit_Chars val:'foo:bar|' span_id:3) Didn't find anything to complete matches = [] --- Case 6: 's foo:bar --color=auto\t' with flags ['-s'] words: {(s)} {(foo) (Lit_Other ':') (bar)} {(--color) (Lit_Other '=') (auto) (Lit_CompDummy '')} redirects: tokens: <--color> alias_words: line: 's foo:bar --color=auto' rl_slice from byte 18 to 22: 'auto' t1 (token id:Lit_CompDummy val:'' span_id:9) t2 (token id:Lit_Chars val:auto span_id:8) Completing words partial_argv: ['s', 'foo:bar', '--color=auto'] alias_words: [] Running completion function 'my_complete' with arguments ['s', '--color=auto', 'foo:bar'] Completing 's foo:bar --color=auto' ... (Ctrl-C to cancel) ok comp.first s, commands_changed: [] COMPREPLY (value.StrArray strs:[dummy]) matches = ['dummy '] --- Case 7: 's foo:bar --color auto\t' with flags ['-s'] ... 1 match for 's foo:bar --color=auto' in 4 ms (Ctrl-C to cancel) Found 1 match for 's foo:bar --color=auto' in 4 ms words: {(s)} {(foo) (Lit_Other ':') (bar)} {(--color)} {(auto) (Lit_CompDummy '')} redirects: tokens: <--color> alias_words: line: 's foo:bar --color auto' rl_slice from byte 18 to 22: 'auto' t1 (token id:Lit_CompDummy val:'' span_id:9) t2 (token id:Lit_Chars val:auto span_id:8) Completing words partial_argv: ['s', 'foo:bar', '--color', 'auto'] alias_words: [] Running completion function 'my_complete' with arguments ['s', 'auto', '--color'] Completing 's foo:bar --color auto' ... (Ctrl-C to cancel) ok comp.first s, commands_changed: [] COMPREPLY (value.StrArray strs:[dummy]) matches = ['dummy '] --- Case 8: 'n foo:bar --color=auto\t' with flags ['-n', '='] ... 1 match for 's foo:bar --color auto' in 4 ms (Ctrl-C to cancel) Found 1 match for 's foo:bar --color auto' in 4 ms words: {(n)} {(foo) (Lit_Other ':') (bar)} {(--color) (Lit_Other '=') (auto) (Lit_CompDummy '')} redirects: tokens: <--color> alias_words: line: 'n foo:bar --color=auto' rl_slice from byte 18 to 22: 'auto' t1 (token id:Lit_CompDummy val:'' span_id:9) t2 (token id:Lit_Chars val:auto span_id:8) Completing words partial_argv: ['n', 'foo:bar', '--color=auto'] alias_words: [] Running completion function 'my_complete' with arguments ['n', '--color=auto', 'foo:bar'] Completing 'n foo:bar --color=auto' ... (Ctrl-C to cancel) ok comp.first n, commands_changed: [] COMPREPLY (value.StrArray strs:[dummy]) matches = ['dummy '] --- Case 9: 'n2 foo:bar --color=auto\t' with flags ['-n', ':='] ... 1 match for 'n foo:bar --color=auto' in 4 ms (Ctrl-C to cancel) Found 1 match for 'n foo:bar --color=auto' in 4 ms words: {(n2)} {(foo) (Lit_Other ':') (bar)} {(--color) (Lit_Other '=') (auto) (Lit_CompDummy '')} redirects: tokens: <--color> alias_words: line: 'n2 foo:bar --color=auto' rl_slice from byte 19 to 23: 'auto' t1 (token id:Lit_CompDummy val:'' span_id:9) t2 (token id:Lit_Chars val:auto span_id:8) Completing words partial_argv: ['n2', 'foo:bar', '--color=auto'] alias_words: [] Running completion function 'my_complete' with arguments ['n2', '--color=auto', 'foo:bar'] Completing 'n2 foo:bar --color=auto' ... (Ctrl-C to cancel) ok comp.first n2, commands_changed: [] COMPREPLY (value.StrArray strs:[dummy]) matches = ['dummy '] Ran 10 cases . ... 1 match for 'n2 foo:bar --color=auto' in 4 ms (Ctrl-C to cancel) Found 1 match for 'n2 foo:bar --color=auto' in 4 ms words: {(ls)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'ls ' rl_slice from byte 3 to 3: '' t1 (token id:Lit_CompDummy val:'' span_id:1534) t2 (token id:WS_Space val:' ' span_id:1533) Completing words partial_argv: ['ls', ''] alias_words: [] Completing 'ls ' ... (Ctrl-C to cancel) ... 1 match for 'ls ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'ls ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'ls ' in 0 ms words: {(ll)} {(Lit_CompDummy '')} redirects: tokens: alias_words: {(ls)} {(-l)} {(Lit_CompDummy '')} line: 'll ' rl_slice from byte 3 to 3: '' t1 (token id:Lit_CompDummy val:'' span_id:1538) t2 (token id:WS_Space val:' ' span_id:1537) Completing words partial_argv: ['ll', ''] alias_words: [(word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:ls span_id:1540))]), (word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:-l span_id:1542))]), (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_CompDummy val:'' span_id:1544))] )] alias_first: ls Completing 'll ' ... (Ctrl-C to cancel) ... 1 match for 'll ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'll ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'll ' in 0 ms words: {(ll_classify)} {(Lit_CompDummy '')} redirects: tokens: alias_words: {(ls)} {(-l)} {(--classify)} {(Lit_CompDummy '')} line: 'll_classify ' rl_slice from byte 12 to 12: '' t1 (token id:Lit_CompDummy val:'' span_id:1548) t2 (token id:WS_Space val:' ' span_id:1547) Completing words partial_argv: ['ll_classify', ''] alias_words: [(word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:ls span_id:1556))]), (word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:-l span_id:1558))]), (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_Chars val:--classify span_id:1560))] ), (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_CompDummy val:'' span_id:1562))] )] alias_first: ls Completing 'll_classify ' ... (Ctrl-C to cancel) ... 1 match for 'll_classify ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'll_classify ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'll_classify ' in 0 ms words: {(ll_trailing)} {(Lit_CompDummy '')} redirects: tokens: alias_words: {(ls)} {(-l)} {(Lit_CompDummy '')} line: 'll_trailing ' rl_slice from byte 12 to 12: '' t1 (token id:Lit_CompDummy val:'' span_id:1566) t2 (token id:WS_Space val:' ' span_id:1565) Completing words partial_argv: ['ll_trailing', ''] alias_words: [(word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:ls span_id:1568))]), (word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:-l span_id:1570))]), (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_CompDummy val:'' span_id:1572))] )] alias_first: ls Completing 'll_trailing ' ... (Ctrl-C to cancel) ... 1 match for 'll_trailing ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'll_trailing ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'll_trailing ' in 0 ms words: {(ll_own_completion)} {(Lit_CompDummy '')} redirects: tokens: alias_words: {(ls)} {(-l)} {(Lit_CompDummy '')} line: 'll_own_completion ' rl_slice from byte 18 to 18: '' t1 (token id:Lit_CompDummy val:'' span_id:1576) t2 (token id:WS_Space val:' ' span_id:1575) Completing words partial_argv: ['ll_own_completion', ''] alias_words: [(word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:ls span_id:1578))]), (word.CompoundWord parts:[(word_part.LiteralPart token:(token id:Lit_Chars val:-l span_id:1580))]), (word.CompoundWord parts: [(word_part.LiteralPart token:(token id:Lit_CompDummy val:'' span_id:1582))] )] alias_first: ls .. Completing 'll_own_completion ' ... (Ctrl-C to cancel) ... 1 match for 'll_own_completion ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'll_own_completion ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'll_own_completion ' in 0 ms words: {(gre) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'gre' rl_slice from byte 1 to 3: 're' t1 (token id:Lit_CompDummy val:'' span_id:1) t2 (token id:Lit_Chars val:gre span_id:0) Completing words partial_argv: ['gre'] alias_words: [] Completing 'gre' ... (Ctrl-C to cancel) ... 1 match for 'gre' in 0 ms (Ctrl-C to cancel) Found 1 match for 'gre' in 0 ms words: {(gre) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo $(gre' rl_slice from byte 7 to 10: 'gre' t1 (token id:Lit_CompDummy val:'' span_id:7) t2 (token id:Lit_Chars val:gre span_id:6) Completing words partial_argv: ['gre'] alias_words: [] Completing 'echo $(gre' ... (Ctrl-C to cancel) ... 1 match for 'echo $(gre' in 0 ms (Ctrl-C to cancel) Found 1 match for 'echo $(gre' in 0 ms words: {(gre) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo `gre' rl_slice from byte 5 to 9: '`gre' t1 (token id:Lit_CompDummy val:'' span_id:13) t2 (token id:Lit_Chars val:gre span_id:12) Completing words partial_argv: ['gre'] alias_words: [] Completing 'echo `gre' ... (Ctrl-C to cancel) ... 1 match for 'echo `gre' in 0 ms (Ctrl-C to cancel) Found 1 match for 'echo `gre' in 0 ms words: {(grep)} {(f) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo `grep f' rl_slice from byte 11 to 12: 'f' t1 (token id:Lit_CompDummy val:'' span_id:21) t2 (token id:Lit_Chars val:f span_id:20) Completing words partial_argv: ['grep', 'f'] alias_words: [] . Completing 'echo `grep f' ... (Ctrl-C to cancel) ... 1 match for 'echo `grep f' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'echo `grep f' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'echo `grep f' in 0 ms words: {(echo)} {(Lit_TildeLike '~r') (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo ~r' rl_slice from byte 5 to 7: '~r' t1 (token id:Lit_CompDummy val:'' span_id:3) t2 (token id:Lit_TildeLike val:'~r' span_id:2) words: {(echo)} {(Lit_TildeLike '~') (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo ~' rl_slice from byte 5 to 6: '~' t1 (token id:Lit_CompDummy val:'' span_id:8) t2 (token id:Lit_TildeLike val:'~' span_id:7) words: {(echo)} {(a) (Lit_TildeLike '~') (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo a~' rl_slice from byte 5 to 7: 'a~' t1 (token id:Lit_CompDummy val:'' span_id:14) t2 (token id:Lit_TildeLike val:'~' span_id:13) Completing words partial_argv: ['echo', 'a~'] alias_words: [] . Completing 'echo a~' ... (Ctrl-C to cancel) Found 0 matches for 'echo a~' in 0 ms words: {(cat)} redirects: (redir.Redir op: fd:16777215 arg_word:{(b) (Lit_CompDummy '')}) tokens: alias_words: line: 'cat < b' rl_slice from byte 6 to 7: 'b' t1 (token id:Lit_CompDummy val:'' span_id:5) t2 (token id:Lit_Chars val:b span_id:4) Completing redirect arg words: {(echo)} redirects: (redir.Redir op:&'> fd:16777215 arg_word:{(Lit_CompDummy '')}) tokens: &'> alias_words: line: 'echo >&' rl_slice from byte 7 to 7: '' t1 (token id:Lit_CompDummy val:'' span_id:10) t2 (token id:Redir_GreatAnd val:'>&' span_id:9) Didn't find anything to complete . words: {(echo)} {(Lit_Other '$') (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo $' rl_slice from byte 5 to 6: '$' t1 (token id:Lit_CompDummy val:'' span_id:3) t2 (token id:Lit_Other val:'$' span_id:2) words: {(echo)} {($ VSub_DollarName '$P') (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo $P' rl_slice from byte 5 to 7: '$P' t1 (token id:Lit_CompDummy val:'' span_id:8) t2 (token id:VSub_DollarName val:'$P' span_id:7) words: redirects: tokens: <_> alias_words: line: 'echo _${' rl_slice from byte 5 to 8: '_${' t1 (token id:Lit_CompDummy val:'' span_id:14) t2 (token id:Left_VarSub val:'${' span_id:13) words: redirects: tokens: alias_words: line: 'echo ${P' rl_slice from byte 5 to 8: '${P' t1 (token id:Lit_CompDummy val:'' span_id:19) t2 (token id:VSub_Name val:P span_id:18) words: redirects: tokens: alias_words: line: 'echo ${undef:-$P' rl_slice from byte 13 to 16: '-$P' t1 (token id:Lit_CompDummy val:'' span_id:26) t2 (token id:VSub_DollarName val:'$P' span_id:25) words: redirects: tokens: alias_words: line: 'echo ${undef:-$' rl_slice from byte 13 to 15: '-$' t1 (token id:Lit_CompDummy val:'' span_id:34) t2 (token id:Lit_Other val:'$' span_id:33) words: redirects: tokens: alias_words: line: 'echo "$' rl_slice from byte 6 to 7: '$' t1 (token id:Lit_CompDummy val:'' span_id:40) t2 (token id:Lit_Other val:'$' span_id:39) words: redirects: tokens: alias_words: line: 'echo "$P' rl_slice from byte 6 to 8: '$P' t1 (token id:Lit_CompDummy val:'' span_id:46) t2 (token id:VSub_DollarName val:'$P' span_id:45) words: redirects: tokens: alias_words: line: 'echo "${#P' rl_slice from byte 6 to 10: '${#P' t1 (token id:Lit_CompDummy val:'' span_id:54) t2 (token id:VSub_Name val:P span_id:53) words: redirects: tokens: alias_words: line: 'echo "$((PWD +P' rl_slice from byte 13 to 15: '+P' t1 (token id:Lit_CompDummy val:'' span_id:63) t2 (token id:Lit_ArithVarLike val:P span_id:62) words: redirects: tokens: alias_words: line: 'echo "$(( $P' rl_slice from byte 10 to 12: '$P' t1 (token id:Lit_CompDummy val:'' span_id:71) t2 (token id:VSub_DollarName val:'$P' span_id:70) . words: {(grep)} {(f) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'grep f' rl_slice from byte 5 to 6: 'f' t1 (token id:Lit_CompDummy val:'' span_id:3) t2 (token id:Lit_Chars val:f span_id:2) Completing words partial_argv: ['grep', 'f'] alias_words: [] Completing 'grep f' ... (Ctrl-C to cancel) ... 1 match for 'grep f' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'grep f' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'grep f' in 0 ms words: {(grep)} {(g) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'grep g' rl_slice from byte 5 to 6: 'g' t1 (token id:Lit_CompDummy val:'' span_id:8) t2 (token id:Lit_Chars val:g span_id:7) Completing words partial_argv: ['grep', 'g'] alias_words: [] Completing 'grep g' ... (Ctrl-C to cancel) Found 0 matches for 'grep g' in 0 ms words: {(g) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'g' rl_slice from byte 1 to 1: '' t1 (token id:Lit_CompDummy val:'' span_id:11) t2 (token id:Lit_Chars val:g span_id:10) Completing words partial_argv: ['g'] alias_words: [] Completing 'g' ... (Ctrl-C to cancel) ... 1 match for 'g' in 0 ms (Ctrl-C to cancel) Found 1 match for 'g' in 0 ms words: {(Lit_CompDummy '')} redirects: tokens: alias_words: line: '' rl_slice from byte 0 to 0: '' t1 (token id:Lit_CompDummy val:'' span_id:13) t2 None Completing words partial_argv: [''] alias_words: [] Completing '' ... (Ctrl-C to cancel) ... 1 match for '' in 0 ms (Ctrl-C to cancel) ... 2 matches for '' in 0 ms (Ctrl-C to cancel) ... 3 matches for '' in 0 ms (Ctrl-C to cancel) Found 3 matches for '' in 0 ms words: {(grep)} {(f) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo hi || grep f' rl_slice from byte 16 to 17: 'f' t1 (token id:Lit_CompDummy val:'' span_id:24) t2 (token id:Lit_Chars val:f span_id:23) Completing words partial_argv: ['grep', 'f'] alias_words: [] Completing 'echo hi || grep f' ... (Ctrl-C to cancel) ... 1 match for 'echo hi || grep f' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'echo hi || grep f' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'echo hi || grep f' in 0 ms words: {(grep)} {(f) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'echo hi; grep f' rl_slice from byte 14 to 15: 'f' t1 (token id:Lit_CompDummy val:'' span_id:34) t2 (token id:Lit_Chars val:f span_id:33) Completing words partial_argv: ['grep', 'f'] alias_words: [] Completing 'echo hi; grep f' ... (Ctrl-C to cancel) ... 1 match for 'echo hi; grep f' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'echo hi; grep f' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'echo hi; grep f' in 0 ms words: {(grep)} {(f) (Lit_CompDummy '')} redirects: tokens: alias_words: line: '{ echo hi; grep f' rl_slice from byte 16 to 17: 'f' t1 (token id:Lit_CompDummy val:'' span_id:46) t2 (token id:Lit_Chars val:f span_id:45) Completing words partial_argv: ['grep', 'f'] alias_words: [] Completing '{ echo hi; grep f' ... (Ctrl-C to cancel) ... 1 match for '{ echo hi; grep f' in 0 ms (Ctrl-C to cancel) ... 2 matches for '{ echo hi; grep f' in 0 ms (Ctrl-C to cancel) Found 2 matches for '{ echo hi; grep f' in 0 ms words: redirects: tokens: alias_words: line: 'var=$v' rl_slice from byte 4 to 6: '$v' t1 (token id:Lit_CompDummy val:'' span_id:50) t2 (token id:VSub_DollarName val:'$v' span_id:49) words: {(Assign_Local local)} {(Lit_VarLike 'var=') ($ VSub_DollarName '$v') (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'local var=$v' rl_slice from byte 10 to 12: '$v' t1 (token id:Lit_CompDummy val:'' span_id:56) t2 (token id:VSub_DollarName val:'$v' span_id:55) . words: {(bad)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'bad ' rl_slice from byte 4 to 4: '' t1 (token id:Lit_CompDummy val:'' span_id:180) t2 (token id:WS_Space val:' ' span_id:179) Completing words partial_argv: ['bad', ''] alias_words: [] Running completion function '_bad' with arguments ['bad', '', 'bad'] Completing 'bad ' ... (Ctrl-C to cancel) _bad returning 124 comp.first bad, commands_changed: [] Function '_bad' returned 124, but the completion spec for 'bad' wasn't changed Found 0 matches for 'bad ' in 0 ms words: {(both)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'both ' rl_slice from byte 5 to 5: '' t1 (token id:Lit_CompDummy val:'' span_id:184) t2 (token id:WS_Space val:' ' span_id:183) Completing words partial_argv: ['both', ''] alias_words: [] Running completion function '_both' with arguments ['both', '', 'both'] comp.first both, commands_changed: [] Function '_both' returned 124, but the completion spec for 'both' wasn't changed Completing 'both ' ... (Ctrl-C to cancel) Found 0 matches for 'both ' in 0 ms words: {(both2)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'both2 ' rl_slice from byte 6 to 6: '' t1 (token id:Lit_CompDummy val:'' span_id:188) t2 (token id:WS_Space val:' ' span_id:187) Completing words partial_argv: ['both2', ''] alias_words: [] Running completion function '_both2' with arguments ['both2', '', 'both2'] comp.first both2, commands_changed: ['both2'] Got status 124 from '_both2' and ['both2'] commands changed Completing 'both2 ' ... (Ctrl-C to cancel) Got 124, trying again ... . Completing 'both2 ' ... (Ctrl-C to cancel) ... 1 match for 'both2 ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'both2 ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'both2 ' in 0 ms words: {(mywords)} {(t) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'mywords t' rl_slice from byte 8 to 9: 't' t1 (token id:Lit_CompDummy val:'' span_id:3) t2 (token id:Lit_Chars val:t span_id:2) Completing words partial_argv: ['mywords', 't'] alias_words: [] Running completion function 'complete_mywords' with arguments ['mywords', 't', 'mywords'] comp.first mywords, commands_changed: [] COMPREPLY (value.StrArray strs:[two three]) Completing 'mywords t' ... (Ctrl-C to cancel) ... 1 match for 'mywords t' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'mywords t' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'mywords t' in 0 ms words: {(mywords_nospace)} {(t) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'mywords_nospace t' rl_slice from byte 16 to 17: 't' t1 (token id:Lit_CompDummy val:'' span_id:8) t2 (token id:Lit_Chars val:t span_id:7) Completing words partial_argv: ['mywords_nospace', 't'] alias_words: [] Running completion function 'complete_mywords' with arguments ['mywords_nospace', 't', 'mywords_nospace'] comp.first mywords_nospace, commands_changed: [] COMPREPLY (value.StrArray strs:[two three]) Completing 'mywords_nospace t' ... (Ctrl-C to cancel) ... 1 match for 'mywords_nospace t' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'mywords_nospace t' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'mywords_nospace t' in 0 ms words: {(flagX)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'flagX ' rl_slice from byte 6 to 6: '' t1 (token id:Lit_CompDummy val:'' span_id:12) t2 (token id:WS_Space val:' ' span_id:11) Completing words partial_argv: ['flagX', ''] alias_words: [] Running completion function 'complete_mywords' with arguments ['flagX', '', 'flagX'] comp.first flagX, commands_changed: [] COMPREPLY (value.StrArray strs:[one two three bin]) Completing 'flagX ' ... (Ctrl-C to cancel) ... 1 match for 'flagX ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'flagX ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'flagX ' in 0 ms words: {(flagX_bang)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'flagX_bang ' rl_slice from byte 11 to 11: '' t1 (token id:Lit_CompDummy val:'' span_id:16) t2 (token id:WS_Space val:' ' span_id:15) Completing words partial_argv: ['flagX_bang', ''] alias_words: [] Running completion function 'complete_mywords' with arguments ['flagX_bang', '', 'flagX_bang'] comp.first flagX_bang, commands_changed: [] COMPREPLY (value.StrArray strs:[one two three bin]) Completing 'flagX_bang ' ... (Ctrl-C to cancel) ... 1 match for 'flagX_bang ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'flagX_bang ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'flagX_bang ' in 0 ms words: {(flagX_prefix)} {(Lit_CompDummy '')} redirects: tokens: alias_words: line: 'flagX_prefix ' rl_slice from byte 13 to 13: '' t1 (token id:Lit_CompDummy val:'' span_id:20) t2 (token id:WS_Space val:' ' span_id:19) Completing words partial_argv: ['flagX_prefix', ''] alias_words: [] Running completion function 'complete_mywords' with arguments ['flagX_prefix', '', 'flagX_prefix'] comp.first flagX_prefix, commands_changed: [] COMPREPLY (value.StrArray strs:[one two three bin]) Completing 'flagX_prefix ' ... (Ctrl-C to cancel) ... 1 match for 'flagX_prefix ' in 0 ms (Ctrl-C to cancel) ... 2 matches for 'flagX_prefix ' in 0 ms (Ctrl-C to cancel) Found 2 matches for 'flagX_prefix ' in 0 ms words: {(prefix_plusdirs)} {(b) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'prefix_plusdirs b' rl_slice from byte 16 to 17: 'b' t1 (token id:Lit_CompDummy val:'' span_id:25) t2 (token id:Lit_Chars val:b span_id:24) Completing words partial_argv: ['prefix_plusdirs', 'b'] alias_words: [] Running completion function 'complete_mywords' with arguments ['prefix_plusdirs', 'b', 'prefix_plusdirs'] comp.first prefix_plusdirs, commands_changed: [] COMPREPLY (value.StrArray strs:[bin]) Completing 'prefix_plusdirs b' ... (Ctrl-C to cancel) ... 1 match for 'prefix_plusdirs b' in 0 ms (Ctrl-C to cancel) Found 1 match for 'prefix_plusdirs b' in 0 ms words: {(flagX_plusdirs)} {(b) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'flagX_plusdirs b' rl_slice from byte 15 to 16: 'b' t1 (token id:Lit_CompDummy val:'' span_id:30) t2 (token id:Lit_Chars val:b span_id:29) Completing words partial_argv: ['flagX_plusdirs', 'b'] alias_words: [] Running completion function 'complete_mywords' with arguments ['flagX_plusdirs', 'b', 'flagX_plusdirs'] comp.first flagX_plusdirs, commands_changed: [] COMPREPLY (value.StrArray strs:[bin]) Completing 'flagX_plusdirs b' ... (Ctrl-C to cancel) Found 0 matches for 'flagX_plusdirs b' in 0 ms words: {(prefix_dirnames)} {(b) (Lit_CompDummy '')} redirects: tokens: alias_words: line: 'prefix_dirnames b' rl_slice from byte 16 to 17: 'b' t1 (token id:Lit_CompDummy val:'' span_id:35) t2 (token id:Lit_Chars val:b span_id:34) Completing words partial_argv: ['prefix_dirnames', 'b'] alias_words: [] . ---------------------------------------------------------------------- Ran 16 tests in 0.329s OK Completing 'prefix_dirnames b' ... (Ctrl-C to cancel) Found 0 matches for 'prefix_dirnames b' in 0 ms