(command.CommandList children: [ (command.ShFunction name: _nmcli_list 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:19) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:21) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'$1' span_id:28))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [18] ) ] ) ] ) ) (command.ShFunction name: _nmcli_con_id body: (command.BraceGroup children: [ (C {(local)} {(Id.Lit_VarLike 'IFS=') (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:54) tokens: [(Token id:Id.Char_OneChar val:'\\n' span_id:55)] ) } ) (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:60) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:62) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 69 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(nmcli)} {(con)} {(list)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '2>' span_id: 76 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(tail)} {(-n)} {(Id.Lit_Other '+') (2)}) (C {(awk)} {(-F)} { (SQ (Token id: Id.Lit_Chars val: ' {2,}' span_id: 97 ) ) } {(SQ (Token id:Id.Lit_Chars val:'{print $1 }' span_id:101))} ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [59] ) ] ) ] ) ) (command.ShFunction name: _nmcli_con_uuid 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:127) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:129) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 136 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(nmcli)} {(con)} {(list)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '2>' span_id: 143 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(tail)} {(-n)} {(Id.Lit_Other '+') (2)}) (C {(awk)} {(-F)} { (SQ (Token id: Id.Lit_Chars val: ' {2,}' span_id: 164 ) ) } {(SQ (Token id:Id.Lit_Chars val:'{print $2}' span_id:168))} ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [126] ) ] ) ] ) ) (command.ShFunction name: _nmcli_ap_ssid body: (command.BraceGroup children: [ (C {(local)} {(Id.Lit_VarLike 'IFS=') (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:196) tokens: [(Token id:Id.Char_OneChar val:'\\n' span_id:197)] ) } ) (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:202) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:204) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 211 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(nmcli)} {(dev)} {(wifi)} {(list)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '2>' span_id: 220 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(tail)} {(-n)} {(Id.Lit_Other '+') (2)}) (C {(awk)} {(-F)} { (SQ (Token id: Id.Lit_Chars val: ' {2,}' span_id: 241 ) ) } {(SQ (Token id:Id.Lit_Chars val:'{print $1}' span_id:245))} ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [201] ) ] ) ] ) ) (command.ShFunction name: _nmcli_ab_bssid 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:271) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:273) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 280 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(nmcli)} {(dev)} {(wifi)} {(list)}] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '2>' span_id: 289 ) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(tail)} {(-n)} {(Id.Lit_Other '+') (2)}) (C {(awk)} {(-F)} { (SQ (Token id: Id.Lit_Chars val: ' {2,}' span_id: 310 ) ) } {(SQ (Token id:Id.Lit_Chars val:'{print $2}' span_id:314))} ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [270] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _nmcli body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:354) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-m)} {(--mode)}] 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:372) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 374 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'tabular multiline' span_id: 381 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [371] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:395) arg_word: {(0)} ) ] spids: [365 368 400 -1] ) (case_arm pat_list: [{(-f)} {(--fields)}] 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:410) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 412 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'all common' span_id: 419 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [409] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:433) arg_word: {(0)} ) ] spids: [403 406 438 -1] ) (case_arm pat_list: [{(-e)} {(--escape)}] action: [ (C {(_nmcli_list)} {(DQ ('yes no'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:454) arg_word: {(0)} ) ] spids: [441 444 459 -1] ) (case_arm pat_list: [{(id)}] action: [ (C {(_nmcli_con_id)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:469) arg_word: {(0)} ) ] spids: [462 463 474 -1] ) (case_arm pat_list: [{(uuid)}] action: [ (C {(_nmcli_con_uuid)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:484) arg_word: {(0)} ) ] spids: [477 478 489 -1] ) (case_arm pat_list: [{(iface)}] action: [ (C {(_available_interfaces)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:499) arg_word: {(0)} ) ] spids: [492 493 504 -1] ) (case_arm pat_list: [{(bssid)}] action: [ (C {(_nmcli_ab_bssid)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:514) arg_word: {(0)} ) ] spids: [507 508 519 -1] ) (case_arm pat_list: [{(wep-key-type)}] action: [ (C {(_nmcli_list)} {(DQ ('key phrase'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:533) arg_word: {(0)} ) ] spids: [522 523 538 -1] ) ] ) (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:557) ) ] action: [ (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:576) ) ] 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:582) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 584 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--terse --pretty --mode --fields\n' span_id: 591 ) (Token id:Id.Lit_Chars val:' --escape --version --help' span_id:592) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [581] ) ] ) ] spids: [562 578] ) ] 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:610) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 612 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ('nm con dev'))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [609] ) ] ) ] ) ] spids: [545 559] ) ] else_action: [ (C {(local)} {(Id.Lit_VarLike 'object=') (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:643) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) } ) (C {(local)} {(Id.Lit_VarLike 'command=') (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:654) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Id.Lit_Digits 2)}) ) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$object')} arms: [ (case_arm pat_list: [{(nm)}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$command')} arms: [ (case_arm pat_list: [{(enable)}] action: [ (C {(_nmcli_list)} {(DQ ('true false'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:691) arg_word: {(0)} ) ] spids: [680 681 696 -1] ) (case_arm pat_list: [{(sleep)}] action: [ (C {(_nmcli_list)} {(DQ ('true false'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:710) arg_word: {(0)} ) ] spids: [699 700 715 -1] ) (case_arm pat_list: [{(wifi)}] action: [ (C {(_nmcli_list)} {(DQ ('on off'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:729) arg_word: {(0)} ) ] spids: [718 719 734 -1] ) (case_arm pat_list: [{(wwan)}] action: [ (C {(_nmcli_list)} {(DQ ('on off'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:748) arg_word: {(0)} ) ] spids: [737 738 753 -1] ) (case_arm pat_list: [{(wimax)}] action: [ (C {(_nmcli_list)} {(DQ ('on off'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:767) arg_word: {(0)} ) ] spids: [756 757 772 -1] ) ] ) (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:780) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 782 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'status permissions enable sleep\n' span_id: 789 ) (Token id:Id.Lit_Chars val:' wifi wwan wimax' span_id:790) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [779] ) ] ) ] spids: [669 670 804 -1] ) (case_arm pat_list: [{(con)}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$command')} 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:823) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 825 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'id uuid' span_id: 832 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [822] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:846) arg_word: {(0)} ) ] spids: [818 819 851 -1] ) (case_arm pat_list: [{(up)}] action: [ (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:872) ) ] 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: 878 ) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 880 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--nowait --timeout' span_id: 887 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [877] ) ] ) ] spids: [858 874] ) ] 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:907) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 909 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'id uuid iface ap nsp' span_id: 916 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [906] ) ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:935) arg_word: {(0)} ) ] spids: [854 855 940 -1] ) (case_arm pat_list: [{(down)}] 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:948) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 950 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'id uuid' span_id: 957 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [947] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:971) arg_word: {(0)} ) ] spids: [943 944 976 -1] ) (case_arm pat_list: [{(delete)}] 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:984) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 986 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'id uuid' span_id: 993 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [983] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1007) arg_word: {(0)} ) ] spids: [979 980 1012 -1] ) ] ) (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:1020) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1022 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'list status up down delete' span_id: 1029 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1019] ) ] ) ] spids: [807 808 1045 -1] ) (case_arm pat_list: [{(dev)}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$command')} 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:1064) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1066 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: iface span_id: 1073 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1063] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1087) arg_word: {(0)} ) ] spids: [1059 1060 1092 -1] ) (case_arm pat_list: [{(disconnect)}] action: [ (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:1113) ) ] 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: 1119 ) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1121 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--nowait --timeout' span_id: 1128 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1118] ) ] ) ] spids: [1099 1115] ) ] 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: 1148 ) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1150 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: iface span_id: 1157 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1147] ) ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1174) arg_word: {(0)} ) ] spids: [1095 1096 1179 -1] ) (case_arm pat_list: [{(wifi)}] action: [ (C {(local)} {(Id.Lit_VarLike 'subcommand=') (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:1190) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{(Id.Lit_Digits 3)}) ) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$subcommand')} 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: 1210 ) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1212 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'iface bssid' span_id: 1219 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1209] ) ] ) (command.ControlFlow token: (Token id: Id.ControlFlow_Return val: return span_id: 1235 ) arg_word: {(0)} ) ] spids: [1205 1206 1240 -1] ) (case_arm pat_list: [{(connect)}] action: [ (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: 1261 ) ) ] 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: 1267 ) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1269 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--private\n' span_id: 1276 ) (Token id:Id.Lit_Chars val:' --nowait --timeout' span_id:1277) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1266] ) ] ) ] spids: [1247 1263] ) ] else_action: [ (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 '$prev') ) } right: {(DQ (connect))} ) ) terminator: (Token id: Id.Op_Semi val: ';' span_id: 1309 ) ) ] action: [(C {(_nmcli_ap_ssid)})] spids: [1294 1311] ) ] 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: 1321 ) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1323 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'password\n' span_id: 1330 ) (Token id: Id.Lit_Chars val: ' wep-key-type iface bssid name' span_id: 1331 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1320] ) ] ) ] ) ] ) (command.ControlFlow token: (Token id: Id.ControlFlow_Return val: return span_id: 1353 ) arg_word: {(0)} ) ] spids: [1243 1244 1358 -1] ) ] ) (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:1366) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1368 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'list connect' span_id: 1375 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1365] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1389) arg_word: {(0)} ) ] spids: [1182 1183 1394 -1] ) ] ) (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:1402) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1404 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'status list disconnect wifi' span_id: 1411 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1401] ) ] ) ] spids: [1048 1049 1427 -1] ) ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1438) arg_word: {(0)} ) ] ) ) (C {(complete)} {(-F)} {(_nmcli)} {(nmcli)}) ] ) ] )