(command.CommandList children: [ (command.ShFunction name: _yum_list body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_Number '$1'))} right: {(all)} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:32) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:46) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:48) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(yum)} {(-d)} {(0)} {(-C)} {(list)} {($ Id.VSub_Number '$1')} {(DQ ($ Id.VSub_DollarName '$cur') ('*'))} ] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '2>' span_id: 67 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(sed)} {(-ne)} { (SQ (Token id: Id.Lit_Chars val: '/^Available /d' span_id: 79 ) ) } {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^Installed /d' span_id:85))} {(-e)} { (SQ (Token id: Id.Lit_Chars val: '/^Updated /d' span_id: 91 ) ) } {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/[[:space:]].*//p' span_id:99))} ) ] negated: F ) ] ) ) } ] ) } spids: [45] ) ] ) ] spids: [18 34] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:115) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:117) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(yum)} {(-d)} {(0)} {(-C)} {(list)} {($ Id.VSub_Number '$1')} {(DQ ($ Id.VSub_DollarName '$cur') ('*'))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:136) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(sed)} {(-ne)} {(1d)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/[[:space:]].*//p' span_id: 152 ) ) } ) ] negated: F ) ] ) ) } ] ) } spids: [114] ) ] ) ] ) ] ) ) (command.ShFunction name: _yum_repolist body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.Simple words: [{(yum)} {(--noplugins)} {(-C)} {(repolist)} {($ Id.VSub_Number '$1')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:194) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(sed)} {(-ne)} {(SQ (Token id:Id.Lit_Chars val:'/^repo\\s\\s*id/d' span_id:206))} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^repolist:/d' span_id:212))} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/[[:space:]].*//p' span_id:218))} ) ] negated: F ) ] ) ) (command.ShFunction name: _yum_plugins body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.Simple words: [ {(command)} {(ls)} (word.BracedTree parts: [ (/usr/lib/yum-plugins/) (Id.Lit_Star '*') (.py) (word_part.BracedTuple words:[{} {(c)} {(o)}]) ] ) ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:245) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(sed)} {(-ne)} { (SQ (Token id: Id.Lit_Chars val: 's|.*/\\([^./]*\\)\\.py[co]\\{0,1\\}$|\\1|p' span_id: 257 ) ) } ) (C {(sort)} {(-u)}) ] negated: F ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _yum body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)} {(-s)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:295) ) ] ) (C {(local)} {(special)} {(i)}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:i span_id:315)) right: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.ArithWord w: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:321) prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (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: (Token id:Id.VSub_Name val:words span_id:345) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 347 ) ) ) ) } right: { (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:353) arms: [ {(install)} {(update)} {(upgrade)} {(remove)} {(erase)} {(deplist)} {(info)} ] ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:370) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:special) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:377) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 379 ) ) ) ) } spids: [375] ) ] ) ] spids: [340 372] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$special')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:400) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: { (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:419) arms: [{(Id.Lit_Other '*') (/)} {('[.~]')}] ) (Id.Lit_Other '*') } ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$special'))} right: { (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:437) arms: [{(deplist)} {(install)} {(update)} {(upgrade)}] ) } ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:448) ) ] action: [ (C {(_filedir)} {(rpm)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:458) arg_word: {(0)} ) ] spids: [409 450] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$special')} arms: [ (case_arm pat_list: [{(install)}] action: [ (C {(_yum_list)} {(available)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:482) arg_word: {(0)} ) ] spids: [473 474 487 -1] ) (case_arm pat_list: [{(deplist)} {(info)}] action: [ (C {(_yum_list)} {(all)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:501) arg_word: {(0)} ) ] spids: [490 493 506 -1] ) (case_arm pat_list: [{(upgrade)} {(update)}] action: [ (C {(_yum_list)} {(updates)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:520) arg_word: {(0)} ) ] spids: [509 512 525 -1] ) (case_arm pat_list: [{(remove)} {(erase)}] action: [ (C {(_yum_list)} {(installed)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:543) arg_word: {(0)} ) ] spids: [528 531 548 -1] ) ] ) ] spids: [391 402] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(list)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:570) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 572 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'all available updates installed extras\n' span_id: 579 ) (Token id:Id.Lit_Chars val:' obsoletes recent' span_id:580) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [569] ) ] ) ] spids: [565 566 594 -1] ) (case_arm pat_list: [{(clean)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:602) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 604 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'packages headers metadata cache dbcache\n' span_id: 611 ) (Token id:Id.Lit_Chars val:' all' span_id:612) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [601] ) ] ) ] spids: [597 598 626 -1] ) (case_arm pat_list: [{(repolist)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:634) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 636 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'all enabled disabled' span_id: 643 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [633] ) ] ) ] spids: [629 630 657 -1] ) (case_arm pat_list: [{(localinstall)} {(localupdate)}] action: [(C {(_filedir)} {(rpm)})] spids: [660 663 675 -1] ) (case_arm pat_list: [{(-d)} {(-e)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:685) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 687 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '{0..10}' span_id: 694 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [684] ) ] ) ] spids: [678 681 708 -1] ) (case_arm pat_list: [{(-c)}] action: [(C {(_filedir)})] spids: [711 712 718 -1] ) (case_arm pat_list: [{(--installroot)}] action: [(C {(_filedir)} {(-d)})] spids: [721 722 730 -1] ) (case_arm pat_list: [{(--enablerepo)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:738) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 740 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _yum_repolist disabled )' span_id: 747 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [737] ) ] ) ] spids: [733 734 763 -1] ) (case_arm pat_list: [{(--disablerepo)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:771) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 773 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _yum_repolist enabled )' span_id: 780 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [770] ) ] ) ] spids: [766 767 794 -1] ) (case_arm pat_list: [{(--disableexcludes)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:802) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 804 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _yum_repolist all ) all main' span_id: 811 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [801] ) ] ) ] spids: [797 798 827 -1] ) (case_arm pat_list: [{(--enableplugin)} {(--disableplugin)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:837) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 839 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _yum_plugins )' span_id: 846 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [836] ) ] ) ] spids: [830 833 860 -1] ) (case_arm pat_list: [{(--color)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:868) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 870 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'always auto never' span_id: 877 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [867] ) ] ) ] spids: [863 864 891 -1] ) (case_arm pat_list: [{(-R)} {(-x)} {(--exclude)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:906) arg_word: {(0)} ) ] spids: [894 899 911 -1] ) (case_arm pat_list: [{(-h)} {(--help)} {(--version)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:926) arg_word: {(0)} ) ] spids: [914 919 931 -1] ) (case_arm pat_list: [{(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: (Token id:Id.Op_LParen val:'(' span_id:939) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 941 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'install update check-update upgrade\n' span_id: 948 ) (Token id: Id.Lit_Chars val: ' remove erase list info provides whatprovides clean makecache\n' span_id: 949 ) (Token id: Id.Lit_Chars val: ' groupinstall groupupdate grouplist groupremove groupinfo\n' span_id: 950 ) (Token id: Id.Lit_Chars val: ' search shell resolvedep localinstall localupdate deplist\n' span_id: 951 ) (Token id:Id.Lit_Chars val:' repolist help' span_id:952) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [938] ) ] ) ] spids: [934 935 966 -1] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$split')}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:977) arg_word: {(0)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:997) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:1003) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1005 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" )' span_id: 1012 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1002] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {(Id.Lit_Other '*') (Id.BoolBinary_GlobEqual '=')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1046) arg_word: {(0)} ) ] spids: [983 999] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_yum)} {(yum)}) ] ) ] )