(command.CommandList children: [ (command.ShFunction name: _mdadm_raid_level body: (command.BraceGroup children: [ (C {(local)} {(mode)}) (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 1)}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:i span_id:26)) right: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:cword span_id:30)) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.Case to_match: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:46) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:i span_id:48) ) ) ) } arms: [ (case_arm pat_list: [{(-C)} {(--create)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mode) op: assign_op.Equal rhs: {(create)} spids: [61] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:65) ) ] spids: [55 58 68 -1] ) (case_arm pat_list: [{(-B)} {(--build)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mode) op: assign_op.Equal rhs: {(build)} spids: [77] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:81) ) ] spids: [71 74 84 -1] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$mode')} arms: [ (case_arm pat_list: [{(create)}] 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:106) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:108) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'linear raid0 0 stripe raid1 1 mirror\n' span_id: 115 ) (Token id: Id.Lit_Chars val: ' raid4 4 raid5 5 raid6 6 raid10 10 multipath mp faulty' span_id: 116 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [105] ) ] ) ] spids: [101 102 132 -1] ) (case_arm pat_list: [{(build)}] 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:140) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:142) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'linear stripe raid0 0 raid1 multipath mp\n' span_id: 149 ) (Token id:Id.Lit_Chars val:' faulty' span_id:150) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [139] ) ] ) ] spids: [135 136 164 -1] ) ] ) ] ) ) (command.ShFunction name: _mdadm_raid_layout body: (command.BraceGroup children: [ (C {(local)} {(level)}) (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 1)}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:i span_id:193)) right: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:cword span_id:197) ) ) 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: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:216) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 218 ) ) ) ) ) } right: {(-) (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:226) arms: [{(l)} {(-level)}] ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:233) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:level) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:240) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 242 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) ) } spids: [238] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:249) ) ] spids: [210 235] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$level')} arms: [ (case_arm pat_list: [{(raid5)}] 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:271) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:273) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'left-asymmetric left-symmetric\n' span_id: 280 ) (Token id: Id.Lit_Chars val: ' right-asymmetric right-symmetric la ra ls rs' span_id: 281 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [270] ) ] ) ] spids: [266 267 295 -1] ) (case_arm pat_list: [{(raid10)}] 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:303) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:305) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'n o p' span_id:312))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [302] ) ] ) ] spids: [298 299 326 -1] ) (case_arm pat_list: [{(faulty)}] 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:334) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:336) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'write-transient wt read-transient rt\n' span_id: 343 ) (Token id: Id.Lit_Chars val: ' write-persistent wp read-persistent rp write-all read-fixable\n' span_id: 344 ) (Token id:Id.Lit_Chars val:' rf clear flush none' span_id:345) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [333] ) ] ) ] spids: [329 330 359 -1] ) ] ) ] ) ) (command.ShFunction name: _mdadm_auto_flag body: (command.BraceGroup children: [ (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:375) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:377) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'no yes md mdp part p' span_id: 384 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [374] ) ] ) ] ) ) (command.ShFunction name: _mdadm_update_flag body: (command.BraceGroup children: [ (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:408) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:410) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'sparc2.2 summaries uuid name homehost resync\n' span_id: 417 ) (Token id:Id.Lit_Chars val:' byteorder super-minor' span_id:418) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [407] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _mdadm 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:461) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-c)} {(--config)} {(-b)} {(--bitmap)} {(--backup-file)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:487) arg_word: {(0)} ) ] spids: [472 481 492 -1] ) (case_arm pat_list: [{(-l)} {(--level)}] action: [ (C {(_mdadm_raid_level)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:504) arg_word: {(0)} ) ] spids: [495 498 509 -1] ) (case_arm pat_list: [{(-p)} {(--layout)} {(--parity)}] action: [ (C {(_mdadm_raid_layout)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:523) arg_word: {(0)} ) ] spids: [512 517 528 -1] ) (case_arm pat_list: [{(-a)} {(--auto)}] action: [ (C {(_mdadm_auto_flag)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:540) arg_word: {(0)} ) ] spids: [531 534 545 -1] ) (case_arm pat_list: [{(-U)} {(--update)}] action: [ (C {(_mdadm_update_flag)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:557) arg_word: {(0)} ) ] spids: [548 551 562 -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:573) arg_word: {(0)} ) ] ) (C {(local)} {(Id.Lit_VarLike 'options=') (SQ (Token id: Id.Lit_Chars val: '--help --help-options --version --verbose --quiet --brief\n' span_id: 583 ) (Token id:Id.Lit_Chars val:' --force --config= --scan --metadata= --homehost=' span_id:584) ) } ) (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:603) ) ] action: [ (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: (Token id:Id.Op_Semi val:';' span_id:620) ) ] 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:626) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 628 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ($ Id.VSub_DollarName '$options') (' --assemble --build --create\n') (' --monitor --grow') ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [625] ) ] ) ] spids: [608 622] ) ] else_action: [ (command.Case to_match: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:657) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 659 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) ) } arms: [ (case_arm pat_list: [{(-A)} {(--assemble)}] 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:675) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 677 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ($ Id.VSub_DollarName '$options') (' --uuid= --super-minor=\n') (' --name= --force --run --no-degraded --auto= --bitmap=\n') ( ' --backup-file= --update= --auto-update-homehost' ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [674] ) ] ) ] spids: [668 671 703 -1] ) (case_arm pat_list: [{(-B)} {(-C)} {(-G)} {(--build)} {(--create)} {(--grow)}] 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:721) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 723 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ($ Id.VSub_DollarName '$options') (' --raid-devices=\n') (' --spare-devices= --size= --chunk= --rounding= --level=\n') ( ' --layout= --parity= --bitmap= --bitmap-chunk=\n' ) (' --write-mostly --write-behind= --assume-clean\n') ( ' --backup-file= --name= --run --force --auto=' ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [720] ) ] ) ] spids: [706 717 751 -1] ) (case_arm pat_list: [{(-F)} {(--follow)} {(--monitor)}] 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:763) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 765 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ($ Id.VSub_DollarName '$options') (' --mail --program\n') (' --alert --syslog --delay --daemonise --pid-file\n') ( ' --oneshot --test' ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [762] ) ] ) ] spids: [754 759 790 -1] ) (case_arm pat_list: [ {(/dev/) (Id.Lit_Star '*')} {(--add)} {(--fail)} {(--remove)} ] 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:805) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 807 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ($ Id.VSub_DollarName '$options') (' --add --re-add\n') (' --remove --fail --set-faulty') ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [804] ) ] ) ] spids: [793 801 830 -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:838) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 840 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ($ Id.VSub_DollarName '$options') (' --query --detail\n') (' --examine --sparc2.2 --examine-bitmap --run --stop\n') ( ' --readonly --readwrite --zero-superblock --test' ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [837] ) ] ) ] spids: [833 834 866 -1] ) ] ) ] ) (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)}) ] ) ] spids: [589 605] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:cur span_id:900) suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonEquals arg_word: {(Id.Lit_Slash /) (dev) (Id.Lit_Slash /)} ) ) } spids: [898] ) ] ) (C {(_filedir)}) ] ) ] ) ) (C {(complete)} {(-F)} {(_mdadm)} {(mdadm)}) ] ) ] )