(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _7z body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-n>} {<Id.Lit_Equals '='>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_eq left: {($ Id.VSub_DollarName '$cword')} right: {<1>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'a b d e l t u x'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [50] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [34 47] ) ] ) (C {<local>} {<mode>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) } right: {<Id.Lit_Other '['> <adu> <Id.Lit_Other ']'>} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mode) op: assign_op.Equal rhs: {<w>} spids: [105] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mode) op: assign_op.Equal rhs: {<r>} spids: [110] ) ] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$cur')} arms: [ (case_arm pat_list: [{<-ao> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 3>} ) ) ) } {<-W>} {(SQ <'a s t u'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 3>} ) ) ) ) } ) ] ) ) } ] ) } spids: [127] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [122 124 167 -1] ) (case_arm pat_list: [ {<-> (word_part.ExtGlob op:<Id.ExtGlob_QMark '?('> arms:[{<a>}]) <Id.Lit_LBracket '['> <ix> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (C {<local>} {<opt>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<Id.BoolUnary_a -a> <Id.Lit_Other '['> <ix> <Id.Lit_Other ']'> <Id.Lit_Other '*'> } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) length: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) } spids: [206] ) (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) } spids: [215] ) ] ) ] spids: [186 203] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) length: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) } spids: [226] ) (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) } spids: [235] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName '$cur')} right: {<Id.Lit_Other '*'> <Id.Lit_Other '['> <Id.Lit_Other '@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\!'> ) <Id.Lit_Other ']'> <Id.Lit_Other '*'> } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> ($ Id.VSub_DollarName '$opt')} {<-W>} {(SQ <'@ ! r@ r-@ r0@ r! r-! r0!'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [267] ) ] ) ] spids: [246 264] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: { (word_part.ExtGlob op: <Id.ExtGlob_QMark '?('> arms: [ {<r> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<->} {<0>} {}] ) } ] ) <Id.Lit_Other '@'> <Id.Lit_Other '*'> } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<x>} {<tmp>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (DQ (${ Id.VSub_Name opt) (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPercent arg_word: {<'@*'>} ) ) <'@'> ) } {<-f>} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*@'>} ) ) ) } ) ] ) ) } spids: [329] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (C {<read>} {<-r>} {<tmp>}) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_DollarName '$tmp'))}] ) } spids: [376] ) ] ) ] ) redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$x'))} ) ] ) ] ) (C {<compopt>} {<-o>} {<filenames>}) ] spids: [296 319] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [170 178 408 -1] ) (case_arm pat_list: [ {<-mhe> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-mhc> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-ms> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-mt> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'on off'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*='>} ) ) ) } ) ] ) ) } ] ) } spids: [429] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [411 426 460 -1] ) (case_arm pat_list: [{<-mx> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'0 1 3 5 7 9'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*='>} ) ) ) } ) ] ) ) } ] ) } spids: [469] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [463 466 500 -1] ) (case_arm pat_list: [{<-o> <Id.Lit_Star '*'>} {<-w> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}] action: [ (C {<local>} {<x>} {<tmp>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) } {<-S/>} {<-d>} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) ) } ) ] ) ) } spids: [519] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (C {<read>} {<-r>} {<tmp>}) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_DollarName '$tmp'))}] ) } spids: [564] ) ] ) ] ) redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$x'))} ) ] ) ] ) (C {<compopt>} {<-o>} {<nospace>} {<-o>} {<filenames>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [503 509 597 -1] ) (case_arm pat_list: [{<-r> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) } {<-W>} {(SQ <'- 0'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) ) } ) ] ) ) } ] ) } spids: [606] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [600 603 646 -1] ) (case_arm pat_list: [{<-scs> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 4>} ) ) ) } {<-W>} {(SQ <'UTF-8 WIN DOS'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 4>} ) ) ) ) } ) ] ) ) } ] ) } spids: [654] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [649 651 696 -1] ) (case_arm pat_list: [{<-ssc> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 4>} ) ) ) } {<-W>} {(SQ <->)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 4>} ) ) ) ) } ) ] ) ) } ] ) } spids: [705] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [699 702 745 -1] ) (case_arm pat_list: [{<-t> <Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$mode')} right: {<w>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) } {<-W>} {(SQ <'7z bzip2 gzip swfc\n'> <' tar wim xz zip'>)} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) ) } ) ] ) ) } ] ) } spids: [769] ) ] ) ] spids: [753 766] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P> (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) length: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) } {<-W>} { (SQ <'7z apm arj bzip2 cab\n'> < ' chm cpio cramfs deb dmg elf fat flv gzip hfs iso lzh lzma\n' > <' lzma86 macho mbr mslz mub nsis ntfs pe ppmd rar rpm\n'> < ' squashfs swf swfc tar udf vhd wim xar xz z zip' > ) } {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Slice begin: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) ) } ) ] ) ) } ] ) } spids: [810] ) ] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [748 750 858 -1] ) (case_arm pat_list: [ {<-m> <Id.Lit_Star '*'> <Id.Lit_Equals '='> <Id.Lit_Star '*'>} {<-p> <Id.Lit_Star '*'>} {<-u> <Id.Lit_Star '*'>} {<-v> <Id.Lit_Star '*'>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [861 874 880 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'-ai -an -ao -ax -bd -i -m{x,s,f,he,hc,mt}=\n'> < ' -o -p -r -scs -sfx -si -slp -slt -so -ssc -t -u -v -w -x -y' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [904] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {<-> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<an>} {<bd>} {<sfx>} {<si>} {<slt>} {<so>} {<ssc>} {<'[rwy]'>}] ) } ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] spids: [887 901] ) ] ) (C {<local>} {<args>}) (C {<_count_args>} {<Id.Lit_Equals '='>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_eq left: {($ Id.VSub_DollarName '$args')} right: {<2>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_filedir_xspec>} {<unzip>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$mode')} right: {<w>} ) ) (C {<_filedir>} {(SQ <'@(7z|bz2|swf|?(g)tar|?(t)[bglx]z|tb?(z)2|wim)'>)}) (C {<_filedir>} { (SQ < '@(7z|arj|bz2|cab|chm|cpio|deb|dmg|flv|gem|img|iso|lz[ah]|lzma?(86)|pmd|[rx]ar|rpm|sw[fm]|?(g)tar|taz|?(t)[bglx]z|tb?(z)2|vhd|wim|Z)' > ) } ) ] ) ] spids: [985 998] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) } right: {<d>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'IFS='> (single_quoted left: <Id.Left_SingleQuoteC "$'"> tokens: [<Id.Char_OneChar '\\n'>] ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<printf>} {(SQ <'%s\\n'>)} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ { ($ Id.VSub_Number '$1' ) } {<l>} { (braced_var_sub token: < Id.VSub_Name words > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { < Id.Lit_Digits 2 > } ) ) ) } {<-slt>} ] redirects: [ (redir.Redir op: < Id.Redir_Great '2>' > fd: 2 arg_word: {</dev/null>} ) ] ) (command.Simple words: [ {<sed>} {<-n>} { (SQ < '/^Path =/s/^Path = \\(.*\\)$/\\1/p' > ) } ] redirects: [ (redir.Redir op: < Id.Redir_Great '2>' > fd: 2 arg_word: {</dev/null>} ) ] ) (C {<tail>} {<-n> <Id.Lit_Other '+'> <2> } ) ] negated: F ) ] ) ) } ) ] ) ) ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1067] ) ] ) (C {<compopt>} {<-o>} {<filenames>}) ] spids: [1038 1056] ) ] else_action: [(C {<_filedir>})] ) ] ) ] ) ) (C {<complete>} {<-F>} {<_7z>} {<7z>} {<7za>}) ] )