. -- PREFIX 'c' -- PREFIX 'opy/doc' -- PREFIX c -- PREFIX nonexistent/ -- PREFIX README. -- PREFIX core -- PREFIX asdl/R -- PREFIX opy/doc -- PREFIX opy/doc/ -- PREFIX /bi -- PREFIX /tmp/oil_comp_test/ -- PREFIX ./b -- PREFIX i ..Running completion function 'f' with arguments ['', 'f', ''] comp.first , commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[f1 f2]) ... --- Case 3: 'noflags foo:bar --color=auto\t' with flags [] [] ['../oil/', '../oil_type_info.json', '../oil3/', '../oil2/', '../oil-isidentical/', '../oilshell.org__deploy/', '../oil-drwilly/', '../oil-sketch/', '../oilshell.org/', '../oil4/', '../ostree/', '../oil.wiki/', '../oil-pr/'] py (UserSpec [TestAction] pred = at 0x7fac30d79ed8>) rb (None, None) words: {}{ }{<--color> } redirects: tokens: <--color> alias_words: line: 'noflags foo:bar --color=auto' rl_slice from byte 0 to 28: 'noflags foo:bar --color=auto' t1 (Token id:Id.Lit_CompDummy span_id:9 val:'') t2 (Token id:Id.Lit_Chars span_id:8 val:auto) Completing words partial_argv: ['noflags', 'foo:bar', '--color=auto'] alias_words: [] words[-1]: (compound_word parts: [ (Token id:Id.Lit_Chars span_id:6 val:--color) (Token id:Id.Lit_Equals span_id:7 val:'=') (Token id:Id.Lit_Chars span_id:8 val:auto) (Token id:Id.Lit_CompDummy span_id:9 val:'') ] ) display_pos 16 Completing 'noflags foo:bar --color=auto' ... (Ctrl-C to cancel) Running completion function 'my_complete' with arguments ['noflags', '--color=auto', 'foo:bar'] ok comp.first noflags, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[dummy]) Found 1 match for 'noflags foo:bar --color=auto' in 8 ms matches = ['noflags foo:bar dummy '] --- Case 4: 'noflags "foo:bar|" --color=auto\t' with flags [] words: {}{(DQ <'foo:bar|'>)}{<--color> } redirects: tokens: <'foo:bar|'><--color> alias_words: line: 'noflags "foo:bar|" --color=auto' rl_slice from byte 0 to 31: 'noflags "foo:bar|" --color=auto' t1 (Token id:Id.Lit_CompDummy span_id:9 val:'') t2 (Token id:Id.Lit_Chars span_id:8 val:auto) Completing words partial_argv: ['noflags', 'foo:bar|', '--color=auto'] alias_words: [] words[-1]: (compound_word parts: [ (Token id:Id.Lit_Chars span_id:6 val:--color) (Token id:Id.Lit_Equals span_id:7 val:'=') (Token id:Id.Lit_Chars span_id:8 val:auto) (Token id:Id.Lit_CompDummy span_id:9 val:'') ] ) display_pos 19 Completing 'noflags "foo:bar|" --color=auto' ... (Ctrl-C to cancel) Running completion function 'my_complete' with arguments ['noflags', '--color=auto', 'foo:bar|'] 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.MaybeStrArray strs:[dummy]) Found 1 match for 'noflags "foo:bar|" --color=auto' in 5 ms matches = ['noflags "foo:bar|" dummy '] --- Case 5: 'noflags "foo:bar|\t' with flags [] words: redirects: tokens: <'foo:bar|'> alias_words: line: 'noflags "foo:bar|' rl_slice from byte 0 to 17: 'noflags "foo:bar|' t1 (Token id:Id.Lit_CompDummy span_id:4 val:'') t2 (Token id:Id.Lit_Chars span_id:3 val:'foo:bar|') Didn't find anything to complete matches = [] --- Case 6: 's foo:bar --color=auto\t' with flags ['-s'] words: {}{ }{<--color> } redirects: tokens: <--color> alias_words: line: 's foo:bar --color=auto' rl_slice from byte 0 to 22: 's foo:bar --color=auto' t1 (Token id:Id.Lit_CompDummy span_id:9 val:'') t2 (Token id:Id.Lit_Chars span_id:8 val:auto) Completing words partial_argv: ['s', 'foo:bar', '--color=auto'] alias_words: [] words[-1]: (compound_word parts: [ (Token id:Id.Lit_Chars span_id:6 val:--color) (Token id:Id.Lit_Equals span_id:7 val:'=') (Token id:Id.Lit_Chars span_id:8 val:auto) (Token id:Id.Lit_CompDummy span_id:9 val:'') ] ) display_pos 10 Completing 's foo:bar --color=auto' ... (Ctrl-C to cancel) Running completion function 'my_complete' with arguments ['s', '--color=auto', 'foo:bar'] ok comp.first s, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[dummy]) Found 1 match for 's foo:bar --color=auto' in 8 ms matches = ['s foo:bar dummy '] --- Case 7: 's foo:bar --color auto\t' with flags ['-s'] words: {}{ }{<--color>}{ } redirects: tokens: <--color> alias_words: line: 's foo:bar --color auto' rl_slice from byte 0 to 22: 's foo:bar --color auto' t1 (Token id:Id.Lit_CompDummy span_id:9 val:'') t2 (Token id:Id.Lit_Chars span_id:8 val:auto) Completing words partial_argv: ['s', 'foo:bar', '--color', 'auto'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:8 val:auto) (Token id:Id.Lit_CompDummy span_id:9 val:'')] ) display_pos 18 Completing 's foo:bar --color auto' ... (Ctrl-C to cancel) Running completion function 'my_complete' with arguments ['s', 'auto', '--color'] ok comp.first s, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[dummy]) Found 1 match for 's foo:bar --color auto' in 8 ms matches = ['s foo:bar --color dummy '] --- Case 8: 'n foo:bar --color=auto\t' with flags ['-n', '='] words: {}{ }{<--color> } redirects: tokens: <--color> alias_words: line: 'n foo:bar --color=auto' rl_slice from byte 0 to 22: 'n foo:bar --color=auto' t1 (Token id:Id.Lit_CompDummy span_id:9 val:'') t2 (Token id:Id.Lit_Chars span_id:8 val:auto) Completing words partial_argv: ['n', 'foo:bar', '--color=auto'] alias_words: [] words[-1]: (compound_word parts: [ (Token id:Id.Lit_Chars span_id:6 val:--color) (Token id:Id.Lit_Equals span_id:7 val:'=') (Token id:Id.Lit_Chars span_id:8 val:auto) (Token id:Id.Lit_CompDummy span_id:9 val:'') ] ) display_pos 10 Completing 'n foo:bar --color=auto' ... (Ctrl-C to cancel) Running completion function 'my_complete' with arguments ['n', '--color=auto', 'foo:bar'] ok comp.first n, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[dummy]) Found 1 match for 'n foo:bar --color=auto' in 8 ms matches = ['n foo:bar dummy '] --- Case 9: 'n2 foo:bar --color=auto\t' with flags ['-n', ':='] words: {}{ }{<--color> } redirects: tokens: <--color> alias_words: line: 'n2 foo:bar --color=auto' rl_slice from byte 0 to 23: 'n2 foo:bar --color=auto' t1 (Token id:Id.Lit_CompDummy span_id:9 val:'') t2 (Token id:Id.Lit_Chars span_id:8 val:auto) Completing words partial_argv: ['n2', 'foo:bar', '--color=auto'] alias_words: [] words[-1]: (compound_word parts: [ (Token id:Id.Lit_Chars span_id:6 val:--color) (Token id:Id.Lit_Equals span_id:7 val:'=') (Token id:Id.Lit_Chars span_id:8 val:auto) (Token id:Id.Lit_CompDummy span_id:9 val:'') ] ) display_pos 11 Completing 'n2 foo:bar --color=auto' ... (Ctrl-C to cancel) Running completion function 'my_complete' with arguments ['n2', '--color=auto', 'foo:bar'] ok comp.first n2, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[dummy]) Found 1 match for 'n2 foo:bar --color=auto' in 7 ms matches = ['n2 foo:bar dummy '] Ran 10 cases . words: {}{} redirects: tokens: alias_words: line: 'ls ' rl_slice from byte 0 to 3: 'ls ' t1 (Token id:Id.Lit_CompDummy span_id:1641 val:'') t2 (Token id:Id.WS_Space span_id:1640 val:_) Completing words partial_argv: ['ls', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:1641 val:'')]) display_pos 3 Completing 'ls ' ... (Ctrl-C to cancel) Found 2 matches for 'ls ' in 0 ms words: {}{} redirects: tokens: alias_words: {}{<-l>} line: 'll ' rl_slice from byte 0 to 3: 'll ' t1 (Token id:Id.Lit_CompDummy span_id:1645 val:'') t2 (Token id:Id.WS_Space span_id:1644 val:_) Completing words partial_argv: ['ll', ''] alias_words: [(compound_word parts:[(Token id:Id.Lit_Chars span_id:1647 val:ls)]), (compound_word parts:[(Token id:Id.Lit_Chars span_id:1649 val:-l)])] alias_first: ls words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:1645 val:'')]) display_pos 3 Completing 'll ' ... (Ctrl-C to cancel) Found 2 matches for 'll ' in 0 ms words: {}{} redirects: tokens: alias_words: {}{<-l>}{<--classify>} line: 'll_classify ' rl_slice from byte 0 to 12: 'll_classify ' t1 (Token id:Id.Lit_CompDummy span_id:1654 val:'') t2 (Token id:Id.WS_Space span_id:1653 val:_) Completing words partial_argv: ['ll_classify', ''] alias_words: [(compound_word parts:[(Token id:Id.Lit_Chars span_id:1661 val:ls)]), (compound_word parts:[(Token id:Id.Lit_Chars span_id:1663 val:-l)]), (compound_word parts:[(Token id:Id.Lit_Chars span_id:1665 val:--classify)])] alias_first: ls words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:1654 val:'')]) display_pos 12 Completing 'll_classify ' ... (Ctrl-C to cancel) Found 2 matches for 'll_classify ' in 0 ms words: {}{} redirects: tokens: alias_words: {}{<-l>} line: 'll_trailing ' rl_slice from byte 0 to 12: 'll_trailing ' t1 (Token id:Id.Lit_CompDummy span_id:1670 val:'') t2 (Token id:Id.WS_Space span_id:1669 val:_) Completing words partial_argv: ['ll_trailing', ''] alias_words: [(compound_word parts:[(Token id:Id.Lit_Chars span_id:1672 val:ls)]), (compound_word parts:[(Token id:Id.Lit_Chars span_id:1674 val:-l)])] alias_first: ls words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:1670 val:'')]) display_pos 12 Completing 'll_trailing ' ... (Ctrl-C to cancel) Found 2 matches for 'll_trailing ' in 0 ms words: {}{} redirects: tokens: alias_words: {}{<-l>} line: 'll_own_completion ' rl_slice from byte 0 to 18: 'll_own_completion ' t1 (Token id:Id.Lit_CompDummy span_id:1679 val:'') t2 (Token id:Id.WS_Space span_id:1678 val:_) Completing words partial_argv: ['ll_own_completion', ''] alias_words: [(compound_word parts:[(Token id:Id.Lit_Chars span_id:1681 val:ls)]), (compound_word parts:[(Token id:Id.Lit_Chars span_id:1683 val:-l)])] alias_first: ls words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:1679 val:'')]) display_pos 18 Completing 'll_own_completion ' ... (Ctrl-C to cancel) Found 2 matches for 'll_own_completion ' in 0 ms . words: { } redirects: tokens: alias_words: line: 'gre' rl_slice from byte 0 to 3: 'gre' t1 (Token id:Id.Lit_CompDummy span_id:1 val:'') t2 (Token id:Id.Lit_Chars span_id:0 val:gre) Completing words partial_argv: ['gre'] alias_words: [] ** DISPLAY_POS = 0 Completing 'gre' ... (Ctrl-C to cancel) Found 1 match for 'gre' in 0 ms words: { } redirects: tokens: alias_words: line: 'echo $(gre' rl_slice from byte 0 to 10: 'echo $(gre' t1 (Token id:Id.Lit_CompDummy span_id:7 val:'') t2 (Token id:Id.Lit_Chars span_id:6 val:gre) Completing words partial_argv: ['gre'] alias_words: [] ** DISPLAY_POS = 7 Completing 'echo $(gre' ... (Ctrl-C to cancel) Found 1 match for 'echo $(gre' in 0 ms words: { } redirects: tokens: alias_words: line: 'echo `gre' rl_slice from byte 0 to 9: 'echo `gre' t1 (Token id:Id.Lit_CompDummy span_id:13 val:'') t2 (Token id:Id.Lit_Chars span_id:12 val:gre) Completing words partial_argv: ['gre'] alias_words: [] ** DISPLAY_POS = 6 Completing 'echo `gre' ... (Ctrl-C to cancel) Found 1 match for 'echo `gre' in 0 ms words: {}{ } redirects: tokens: alias_words: line: 'echo `grep f' rl_slice from byte 0 to 12: 'echo `grep f' t1 (Token id:Id.Lit_CompDummy span_id:21 val:'') t2 (Token id:Id.Lit_Chars span_id:20 val:f) Completing words partial_argv: ['grep', 'f'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:20 val:f) (Token id:Id.Lit_CompDummy span_id:21 val:'')] ) display_pos 11 Completing 'echo `grep f' ... (Ctrl-C to cancel) Found 2 matches for 'echo `grep f' in 0 ms . words: {}{ } redirects: tokens: alias_words: line: 'echo ~r' rl_slice from byte 0 to 7: 'echo ~r' t1 (Token id:Id.Lit_CompDummy span_id:3 val:'') t2 (Token id:Id.Lit_TildeLike span_id:2 val:'~r') words: {}{ } redirects: tokens: alias_words: line: 'echo ~' rl_slice from byte 0 to 6: 'echo ~' t1 (Token id:Id.Lit_CompDummy span_id:8 val:'') t2 (Token id:Id.Lit_TildeLike span_id:7 val:'~') words: {}{ } redirects: tokens: alias_words: line: 'echo a~' rl_slice from byte 0 to 7: 'echo a~' t1 (Token id:Id.Lit_CompDummy span_id:14 val:'') t2 (Token id:Id.Lit_TildeLike span_id:13 val:'~') Completing words partial_argv: ['echo', 'a~'] alias_words: [] words[-1]: (compound_word parts: [ (Token id:Id.Lit_Chars span_id:12 val:a) (Token id:Id.Lit_TildeLike span_id:13 val:'~') (Token id:Id.Lit_CompDummy span_id:14 val:'') ] ) display_pos 5 Completing 'echo a~' ... (Ctrl-C to cancel) Found 0 matches for 'echo a~' in 0 ms . words: {} redirects: (redir op: loc:(redir_loc.Fd fd:0) arg:{ }) tokens: alias_words: line: 'cat < b' rl_slice from byte 0 to 7: 'cat < b' t1 (Token id:Id.Lit_CompDummy span_id:5 val:'') t2 (Token id:Id.Lit_Chars span_id:4 val:b) Completing redirect arg words: {} redirects: (redir op:&'> loc:(redir_loc.Fd fd:1) arg:{}) tokens: &'> alias_words: line: 'echo >&' rl_slice from byte 0 to 7: 'echo >&' t1 (Token id:Id.Lit_CompDummy span_id:10 val:'') t2 (Token id:Id.Redir_GreatAnd span_id:9 val:'>&') Didn't find anything to complete .. words: {}{ } redirects: tokens: alias_words: line: 'echo $' rl_slice from byte 0 to 6: 'echo $' t1 (Token id:Id.Lit_CompDummy span_id:3 val:'') t2 (Token id:Id.Lit_Dollar span_id:2 val:'$') words: {}{($ Id.VSub_DollarName '$P') } redirects: tokens: alias_words: line: 'echo $P' rl_slice from byte 0 to 7: 'echo $P' t1 (Token id:Id.Lit_CompDummy span_id:8 val:'') t2 (Token id:Id.VSub_DollarName span_id:7 val:'$P') words: redirects: tokens: alias_words: line: 'echo _${' rl_slice from byte 0 to 8: 'echo _${' t1 (Token id:Id.Lit_CompDummy span_id:14 val:'') t2 (Token id:Id.Left_DollarBrace span_id:13 val:'${') words: redirects: tokens: alias_words: line: 'echo ${P' rl_slice from byte 0 to 8: 'echo ${P' t1 (Token id:Id.Lit_CompDummy span_id:19 val:'') t2 (Token id:Id.VSub_Name span_id:18 val:P) words: redirects: tokens: alias_words: line: 'echo ${undef:-$P' rl_slice from byte 0 to 16: 'echo ${undef:-$P' t1 (Token id:Id.Lit_CompDummy span_id:26 val:'') t2 (Token id:Id.VSub_DollarName span_id:25 val:'$P') words: redirects: tokens: alias_words: line: 'echo ${undef:-$' rl_slice from byte 0 to 15: 'echo ${undef:-$' t1 (Token id:Id.Lit_CompDummy span_id:34 val:'') t2 (Token id:Id.Lit_Dollar span_id:33 val:'$') words: redirects: tokens: alias_words: line: 'echo "$' rl_slice from byte 0 to 7: 'echo "$' t1 (Token id:Id.Lit_CompDummy span_id:40 val:'') t2 (Token id:Id.Lit_Dollar span_id:39 val:'$') words: redirects: tokens: alias_words: line: 'echo "$P' rl_slice from byte 0 to 8: 'echo "$P' t1 (Token id:Id.Lit_CompDummy span_id:46 val:'') t2 (Token id:Id.VSub_DollarName span_id:45 val:'$P') words: redirects: tokens: alias_words: line: 'echo "${#P' rl_slice from byte 0 to 10: 'echo "${#P' t1 (Token id:Id.Lit_CompDummy span_id:54 val:'') t2 (Token id:Id.VSub_Name span_id:53 val:P) words: redirects: tokens: alias_words: line: 'echo "$((PWD +P' rl_slice from byte 0 to 15: 'echo "$((PWD +P' t1 (Token id:Id.Lit_CompDummy span_id:63 val:'') t2 (Token id:Id.Lit_ArithVarLike span_id:62 val:P) words: redirects: tokens: alias_words: line: 'echo "$(( $P' rl_slice from byte 0 to 12: 'echo "$(( $P' t1 (Token id:Id.Lit_CompDummy span_id:71 val:'') t2 (Token id:Id.VSub_DollarName span_id:70 val:'$P') . words: {}{ } redirects: tokens: alias_words: line: 'grep f' rl_slice from byte 0 to 6: 'grep f' t1 (Token id:Id.Lit_CompDummy span_id:3 val:'') t2 (Token id:Id.Lit_Chars span_id:2 val:f) Completing words partial_argv: ['grep', 'f'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:2 val:f) (Token id:Id.Lit_CompDummy span_id:3 val:'')] ) display_pos 5 Completing 'grep f' ... (Ctrl-C to cancel) Found 2 matches for 'grep f' in 0 ms words: {}{ } redirects: tokens: alias_words: line: 'grep g' rl_slice from byte 0 to 6: 'grep g' t1 (Token id:Id.Lit_CompDummy span_id:8 val:'') t2 (Token id:Id.Lit_Chars span_id:7 val:g) Completing words partial_argv: ['grep', 'g'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:7 val:g) (Token id:Id.Lit_CompDummy span_id:8 val:'')] ) display_pos 5 Completing 'grep g' ... (Ctrl-C to cancel) Found 0 matches for 'grep g' in 0 ms words: { } redirects: tokens: alias_words: line: 'g' rl_slice from byte 0 to 1: 'g' t1 (Token id:Id.Lit_CompDummy span_id:11 val:'') t2 (Token id:Id.Lit_Chars span_id:10 val:g) Completing words partial_argv: ['g'] alias_words: [] ** DISPLAY_POS = 0 Completing 'g' ... (Ctrl-C to cancel) Found 1 match for 'g' in 0 ms words: {} redirects: tokens: alias_words: line: '' rl_slice from byte 0 to 0: '' t1 (Token id:Id.Lit_CompDummy span_id:13 val:'') t2 None Completing words partial_argv: [''] alias_words: [] ** DISPLAY_POS = 0 Completing '' ... (Ctrl-C to cancel) Found 3 matches for '' in 0 ms words: {}{ } redirects: tokens: alias_words: line: 'echo hi || grep f' rl_slice from byte 0 to 17: 'echo hi || grep f' t1 (Token id:Id.Lit_CompDummy span_id:24 val:'') t2 (Token id:Id.Lit_Chars span_id:23 val:f) Completing words partial_argv: ['grep', 'f'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:23 val:f) (Token id:Id.Lit_CompDummy span_id:24 val:'')] ) display_pos 16 Completing 'echo hi || grep f' ... (Ctrl-C to cancel) Found 2 matches for 'echo hi || grep f' in 0 ms words: {}{ } redirects: tokens: alias_words: line: 'echo hi; grep f' rl_slice from byte 0 to 15: 'echo hi; grep f' t1 (Token id:Id.Lit_CompDummy span_id:34 val:'') t2 (Token id:Id.Lit_Chars span_id:33 val:f) Completing words partial_argv: ['grep', 'f'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:33 val:f) (Token id:Id.Lit_CompDummy span_id:34 val:'')] ) display_pos 14 Completing 'echo hi; grep f' ... (Ctrl-C to cancel) Found 2 matches for 'echo hi; grep f' in 0 ms words: {}{ } redirects: tokens: alias_words: line: '{ echo hi; grep f' rl_slice from byte 0 to 17: '{ echo hi; grep f' t1 (Token id:Id.Lit_CompDummy span_id:46 val:'') t2 (Token id:Id.Lit_Chars span_id:45 val:f) Completing words partial_argv: ['grep', 'f'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:45 val:f) (Token id:Id.Lit_CompDummy span_id:46 val:'')] ) display_pos 16 Completing '{ echo hi; grep f' ... (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 0 to 6: 'var=$v' t1 (Token id:Id.Lit_CompDummy span_id:50 val:'') t2 (Token id:Id.VSub_DollarName span_id:49 val:'$v') words: {}{} redirects: tokens: alias_words: line: 'local var=$v' rl_slice from byte 0 to 12: 'local var=$v' t1 (Token id:Id.Lit_CompDummy span_id:56 val:'') t2 (Token id:Id.VSub_DollarName span_id:55 val:'$v') . words: {}{} redirects: tokens: alias_words: line: 'bad ' rl_slice from byte 0 to 4: 'bad ' t1 (Token id:Id.Lit_CompDummy span_id:180 val:'') t2 (Token id:Id.WS_Space span_id:179 val:_) Completing words partial_argv: ['bad', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:180 val:'')]) display_pos 4 Completing 'bad ' ... (Ctrl-C to cancel) Running completion function '_bad' with arguments ['bad', '', 'bad'] _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: {}{} redirects: tokens: alias_words: line: 'both ' rl_slice from byte 0 to 5: 'both ' t1 (Token id:Id.Lit_CompDummy span_id:184 val:'') t2 (Token id:Id.WS_Space span_id:183 val:_) Completing words partial_argv: ['both', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:184 val:'')]) display_pos 5 Completing 'both ' ... (Ctrl-C to cancel) 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 Found 0 matches for 'both ' in 0 ms words: {}{} redirects: tokens: alias_words: line: 'both2 ' rl_slice from byte 0 to 6: 'both2 ' t1 (Token id:Id.Lit_CompDummy span_id:188 val:'') t2 (Token id:Id.WS_Space span_id:187 val:_) Completing words partial_argv: ['both2', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:188 val:'')]) display_pos 6 Completing 'both2 ' ... (Ctrl-C to cancel) Running completion function '_both2' with arguments ['both2', '', 'both2'] comp.first both2, commands_changed: ['both2'] Got status 124 from '_both2' and ['both2'] commands changed Got 124, trying again ... Completing 'both2 ' ... (Ctrl-C to cancel) Found 2 matches for 'both2 ' in 0 ms . words: {}{ } redirects: tokens: alias_words: line: 'mywords t' rl_slice from byte 0 to 9: 'mywords t' t1 (Token id:Id.Lit_CompDummy span_id:3 val:'') t2 (Token id:Id.Lit_Chars span_id:2 val:t) Completing words partial_argv: ['mywords', 't'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:2 val:t) (Token id:Id.Lit_CompDummy span_id:3 val:'')] ) display_pos 8 Completing 'mywords t' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['mywords', 't', 'mywords'] comp.first mywords, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[two three]) Found 2 matches for 'mywords t' in 1 ms words: {}{ } redirects: tokens: alias_words: line: 'mywords_nospace t' rl_slice from byte 0 to 17: 'mywords_nospace t' t1 (Token id:Id.Lit_CompDummy span_id:8 val:'') t2 (Token id:Id.Lit_Chars span_id:7 val:t) Completing words partial_argv: ['mywords_nospace', 't'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:7 val:t) (Token id:Id.Lit_CompDummy span_id:8 val:'')] ) display_pos 16 Completing 'mywords_nospace t' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['mywords_nospace', 't', 'mywords_nospace'] comp.first mywords_nospace, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[two three]) Found 2 matches for 'mywords_nospace t' in 1 ms words: {}{} redirects: tokens: alias_words: line: 'flagX ' rl_slice from byte 0 to 6: 'flagX ' t1 (Token id:Id.Lit_CompDummy span_id:12 val:'') t2 (Token id:Id.WS_Space span_id:11 val:_) Completing words partial_argv: ['flagX', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:12 val:'')]) display_pos 6 Completing 'flagX ' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['flagX', '', 'flagX'] comp.first flagX, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[one two three bin]) Found 2 matches for 'flagX ' in 1 ms words: {}{} redirects: tokens: alias_words: line: 'flagX_bang ' rl_slice from byte 0 to 11: 'flagX_bang ' t1 (Token id:Id.Lit_CompDummy span_id:16 val:'') t2 (Token id:Id.WS_Space span_id:15 val:_) Completing words partial_argv: ['flagX_bang', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:16 val:'')]) display_pos 11 Completing 'flagX_bang ' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['flagX_bang', '', 'flagX_bang'] comp.first flagX_bang, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[one two three bin]) Found 2 matches for 'flagX_bang ' in 1 ms words: {}{} redirects: tokens: alias_words: line: 'flagX_prefix ' rl_slice from byte 0 to 13: 'flagX_prefix ' t1 (Token id:Id.Lit_CompDummy span_id:20 val:'') t2 (Token id:Id.WS_Space span_id:19 val:_) Completing words partial_argv: ['flagX_prefix', ''] alias_words: [] words[-1]: (compound_word parts:[(Token id:Id.Lit_CompDummy span_id:20 val:'')]) display_pos 13 Completing 'flagX_prefix ' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['flagX_prefix', '', 'flagX_prefix'] comp.first flagX_prefix, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[one two three bin]) Found 2 matches for 'flagX_prefix ' in 1 ms words: {}{ } redirects: tokens: alias_words: line: 'prefix_plusdirs b' rl_slice from byte 0 to 17: 'prefix_plusdirs b' t1 (Token id:Id.Lit_CompDummy span_id:25 val:'') t2 (Token id:Id.Lit_Chars span_id:24 val:b) Completing words partial_argv: ['prefix_plusdirs', 'b'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:24 val:b) (Token id:Id.Lit_CompDummy span_id:25 val:'')] ) display_pos 16 Completing 'prefix_plusdirs b' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['prefix_plusdirs', 'b', 'prefix_plusdirs'] comp.first prefix_plusdirs, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[bin]) Found 1 match for 'prefix_plusdirs b' in 1 ms words: {}{ } redirects: tokens: alias_words: line: 'flagX_plusdirs b' rl_slice from byte 0 to 16: 'flagX_plusdirs b' t1 (Token id:Id.Lit_CompDummy span_id:30 val:'') t2 (Token id:Id.Lit_Chars span_id:29 val:b) Completing words partial_argv: ['flagX_plusdirs', 'b'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:29 val:b) (Token id:Id.Lit_CompDummy span_id:30 val:'')] ) display_pos 15 Completing 'flagX_plusdirs b' ... (Ctrl-C to cancel) Running completion function 'complete_mywords' with arguments ['flagX_plusdirs', 'b', 'flagX_plusdirs'] comp.first flagX_plusdirs, commands_changed: [] COMPREPLY (value.MaybeStrArray strs:[bin]) Found 0 matches for 'flagX_plusdirs b' in 1 ms words: {}{ } redirects: tokens: alias_words: line: 'prefix_dirnames b' rl_slice from byte 0 to 17: 'prefix_dirnames b' t1 (Token id:Id.Lit_CompDummy span_id:35 val:'') t2 (Token id:Id.Lit_Chars span_id:34 val:b) Completing words partial_argv: ['prefix_dirnames', 'b'] alias_words: [] words[-1]: (compound_word parts: [(Token id:Id.Lit_Chars span_id:34 val:b) (Token id:Id.Lit_CompDummy span_id:35 val:'')] ) display_pos 16 Completing 'prefix_dirnames b' ... (Ctrl-C to cancel) Found 0 matches for 'prefix_dirnames b' in 0 ms . ---------------------------------------------------------------------- Ran 16 tests in 0.286s OK