(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _tshark body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)} {(-n)} {(Id.Lit_Other ':')}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:30) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [ {(-f)} {(-s)} {(-B)} {(-D)} {(-L)} {(-c)} {(-R)} {(-N)} {(-d)} {(-C)} {(-e)} {(-E)} {(-z)} {(-h)} {(-v)} {(-o)} {(-K)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:77) ) ] spids: [41 74 80 -1] ) (case_arm pat_list: [{(-i)}] action: [ (C {(_available_interfaces)} {(-a)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:92) ) ] spids: [83 84 95 -1] ) (case_arm pat_list: [{(-y)}] action: [ (C {(local)} {(opts)} {(i)}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) 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:117) prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) cond: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:i span_id:126) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus 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: 148 ) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 150 ) ) ) ) } right: {(-i)} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:159) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opts) op: assign_op.PlusEqual rhs: { (DQ ('-i ') (braced_var_sub token: (Token id: Id.VSub_Name val: words span_id: 168 ) 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: 170 ) ) right: (arith_expr.ArithWord w: {(Id.Lit_Digits 1)} ) ) ) ) ) } spids: [164] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:178) ) ] spids: [143 161] ) ] ) ] ) ) (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:188) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:190) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 197 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$opts')} {(-L)} ] redirects: [ (redir.Redir op: (Token id: Id.Redir_GreatAnd val: '2>&' span_id: 207 ) fd: 2 arg_word: {(1)} ) ] ) (C {(awk)} { (SQ (Token id: Id.Lit_Chars val: '/^ / { print $1 }' span_id: 217 ) ) } ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [187] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:234) ) ] spids: [98 99 237 -1] ) (case_arm pat_list: [{(-a)} {(-b)}] 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:247) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:249) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'duration: filesize: files:' span_id: 256 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [246] ) ] ) (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.Lit_Other ':')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:292) ) ] spids: [240 243 295 -1] ) (case_arm pat_list: [{(-r)}] action: [ (C {(_filedir)} {(pcap)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:307) ) ] spids: [298 299 310 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:320) ) ] spids: [313 314 323 -1] ) (case_arm pat_list: [{(-w)}] action: [ (C {(_filedir)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: { (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:339) arms: [{} {(-)}] ) } ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:349) words: [{(-)}] ) } spids: [348] ) ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:356) ) ] spids: [326 327 359 -1] ) (case_arm pat_list: [{(-F)}] 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:367) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:369) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 376 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(DQ ($ Id.VSub_Number '$1'))} {(-F)} ] redirects: [ (redir.Redir op: (Token id: Id.Redir_GreatAnd val: '2>&' span_id: 384 ) fd: 2 arg_word: {(1)} ) ] ) (C {(awk)} { (SQ (Token id: Id.Lit_Chars val: '/^ / { print $1 }' span_id: 394 ) ) } ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [366] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:411) ) ] spids: [362 363 414 -1] ) (case_arm pat_list: [{(-O)}] action: [ (command.Sentence child: (C {(local)} {(Id.Lit_VarLike 'prefix=')}) terminator: (Token id:Id.Op_Semi val:';' span_id:424) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {(Id.Lit_Other '*') (Id.Lit_Other ',') (Id.Lit_Other '*')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prefix) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:cur span_id:443) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {(',*')} ) ) (',') ) } spids: [440] ) ] ) ] ) (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:452) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:454) command_list: (command.CommandList children: [ (C {(compgen)} {(-P)} {(DQ ($ Id.VSub_DollarName '$prefix'))} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 469 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {(DQ ($ Id.VSub_Number '$1'))} {(-G)} {(protocols)} ] redirects: [ (redir.Redir op: (Token id: Id.Redir_GreatAnd val: '2>&' span_id: 479 ) fd: 2 arg_word: {(1)} ) ] ) (C {(cut)} {(-f)} {(3)}) ] negated: F ) ] ) ) ) } {(--)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: cur span_id: 499 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPound arg_word: {('*,')} ) ) ) } ) ] ) ) } ] ) } spids: [451] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:510) ) ] spids: [417 418 513 -1] ) (case_arm pat_list: [{(-T)}] 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:525) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:527) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'ps text pdml psml fields' span_id: 534 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [524] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:548) ) ] spids: [516 517 551 -1] ) (case_arm pat_list: [{(-t)}] 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:563) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:565) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'ad a r d dd e' span_id: 572 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [562] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:586) ) ] spids: [554 555 589 -1] ) (case_arm pat_list: [{(-u)}] 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:601) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:603) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'s hms' span_id:610))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [600] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:624) ) ] spids: [592 593 627 -1] ) (case_arm pat_list: [{(-W)}] 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:635) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:637) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:n span_id:644))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [634] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:658) ) ] spids: [630 631 661 -1] ) (case_arm pat_list: [{(-X)}] 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 '$cur')} right: {(lua_script) (Id.Lit_Other ':') (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:681) ) ] 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:688) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {('*:')} ) ) } spids: [686] ) ] ) (C {(_filedir)} {(lua)}) ] spids: [668 683] ) ] 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:703) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 705 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'lua_script:' span_id: 712 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [702] ) ] ) (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.Lit_Other ':')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:749) ) ] spids: [664 665 752 -1] ) (case_arm pat_list: [{(-G)}] 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:760) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:762) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 769 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(DQ ($ Id.VSub_Number '$1'))} {(-G)} {(Id.Lit_QMark '?')} ) (C {(awk)} { (SQ (Token id: Id.Lit_Chars val: '/^[ \\t]*-G / \\\n' span_id: 786 ) (Token id: Id.Lit_Chars val: ' { sub("^[[]","",$2); sub("[]]$","",$2); print $2 }' span_id: 787 ) ) } ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [759] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:806) ) ] spids: [755 756 809 -1] ) ] ) (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:832) ) ] 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)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" -h )' span_id: 847 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [837] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:861) ) ] spids: [818 834] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_tshark)} {(tshark)}) ] )