(CommandList children: [ (AndOr children: [ (C {(_have)} {(grep-status)}) (AndOr children: [ (BraceGroup children: [ (FuncDef name: _comp_dpkg_hold_packages body: (BraceGroup children: [ (C {(grep-status)} {(-P)} {(-e)} {(DQ ('^') ($ VSub_Number '$1'))} {(-a)} {(-FStatus)} {(SQ <hold>)} {(-n)} {(-s)} {(Package)} ) ] spids: [16] ) spids: [12 15] ) ] spids: [10] ) (BraceGroup children: [ (FuncDef name: _comp_dpkg_hold_packages body: (BraceGroup children: [ (Pipeline children: [ (C {(command)} {(grep)} {(-B)} {(2)} {(SQ <hold>)} {(/var/lib/dpkg/status)}) (C {(awk)} { (DQ ('/Package: ') ($ VSub_Number '$1') ('/ { print ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('2 }') ) } ) ] negated: False ) ] spids: [56] ) spids: [52 55] ) ] spids: [50] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (AndOr children: [ (FuncDef name: _aptitude body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[101]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[103]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[105]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[107]) ] spids: [99] ) (AndOr children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)] op_id: Op_DPipe ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dashoptions) op: Equal rhs: { (SQ <'-S -u -i -h --help --version -s --simulate -d\n'> < ' --download-only -P --prompt -y --assume-yes -F --display-format -O\n' > <' --sort -w --width -f -r -g --with-recommends -R -G --without-recommends\n'> < ' -t --target-release -V --show-versions -D --show-deps -Z -v --verbose\n' > <' --purge-unused --schedule-only'> ) } spids: [120] ) ] spids: [118] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:special) op:Equal spids:[133]) (assign_pair lhs:(LhsName name:i) op:Equal spids:[135]) ] spids: [131] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithBinary op_id: Arith_Minus left: (ArithWord w: { (BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [151 157] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [176 181] ) } right: {(ExtGlobPart op:<ExtGlob_At '@('> spids:[185 247])} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:special) op: Equal rhs: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [256 261] ) } spids: [255] ) ] spids: [255] ) ] spids: [16777215 252] ) ] spids: [16777215 264] ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [273 278] ) } right: {(SQ <-u>)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dashoptions) op: Equal rhs: { (BracedVarSub token: <VSub_Name dashoptions> suffix_op: (PatSub pat: {(-i)} do_all: False do_prefix: False do_suffix: False ) spids: [291 295] ) } spids: [290] ) ] spids: [290] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [300 305] ) } right: {(SQ <-i>)} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dashoptions) op: Equal rhs: { (BracedVarSub token: <VSub_Name dashoptions> suffix_op: (PatSub pat: {(-u)} do_all: False do_prefix: False do_suffix: False ) spids: [318 322] ) } spids: [317] ) ] spids: [317] ) ] op_id: Op_DAmp ) ] spids: [169 325] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$special'))}) ) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {($ VSub_Name '$special')} arms: [ (case_arm pat_list: [ {(install)} {(hold)} {(markauto)} {(unmarkauto)} {(dist-upgrade)} {(full-upgrade)} {(safe-upgrade)} {(download)} {(show)} {(changelog)} {(why)} {(why-not)} {(build-dep)} {(add-user-tag)} {(remove-user-tag)} {(versions)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(apt-cache)} {(pkgnames)} {($ VSub_Name '$cur')} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [403] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [395 407] ) } ] ) } spids: [392] ) ] spids: [392] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [352 389 417 16777215] ) (case_arm pat_list: [{(purge)} {(remove)} {(reinstall)} {(forbid-version)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(_xfunc)} {(dpkg)} {(_comp_dpkg_installed_packages)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [435 447] ) } ] ) } spids: [430] ) ] spids: [430] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [420 427 457 16777215] ) (case_arm pat_list: [{(unhold)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(_comp_dpkg_hold_packages)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [467 475] ) } ] ) } spids: [464] ) ] spids: [464] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [460 461 485 16777215] ) ] spids: [345 349 488] ) ] spids: [16777215 342] ) ] spids: [16777215 491] ) (Case to_match: {($ VSub_Name '$prev')} arms: [ (case_arm pat_list: [ {(autoclean)} {(clean)} {(forget-new)} {(search)} {(upgrade)} {(update)} {(keep-all)} ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [506 519 527 16777215] ) (case_arm pat_list: [{(-S)}] action: [ (C {(_filedir)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [530 531 542 16777215] ) (case_arm pat_list: [{(-t)} {(--target-release)} {(--default-release)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(apt-cache)} {(policy)}) (C {(command)} {(grep)} { (DQ ('release.o=Debian,a=') ($ VSub_Name '$cur') ) } ) (C {(sed)} {(-e)} { (DQ ('s/.*a=') (Lit_Other '\\') ('(') (Lit_Other '\\') ('w*') (Lit_Other '\\') (').*/') (Lit_Other '\\') (1/) ) } ) (SimpleCommand words: [{(uniq)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [599] ) ] ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [556 603] ) } ] ) } spids: [553] ) ] spids: [553] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [545 550 613 16777215] ) ] spids: [495 499 616] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name '$dashoptions'))} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [642 658] ) } ] ) } spids: [639] ) ] spids: [639] ) ] spids: [16777215 636] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (SQ <'update upgrade safe-upgrade forget-new\n'> < ' clean autoclean install reinstall remove hold unhold purge markauto\n' > <' unmarkauto why why-not dist-upgrade full-upgrade download search\n'> < ' show forbid-version changelog keep-all build-dep add-user-tag\n' > <' remove-user-tag versions'> ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [669 689] ) } ] ) } spids: [666] ) ] spids: [666] ) ] spids: [663 694] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [96] ) spids: [92 95] ) (C {(complete)} {(-F)} {(_aptitude)} {(-o)} {(default)} {(aptitude)}) ] op_id: Op_DAmp ) ] )