# nmcli completion -*- shell-script -*- # Use of this file is deprecated. Upstream completion is available in # NetworkManager >= 0.9.8.0, use that instead. proc _nmcli_list { global COMPREPLY := '( '$( compgen -W '$1' -- "$cur" ) ) } proc _nmcli_con_id { var IFS = '$'\n'' global COMPREPLY := '( '$( compgen -W "$(nmcli con list 2>/dev/null | \ tail -n +2 | awk -F ' {2,}' '{print $1 }')" -- "$cur" ) ) } proc _nmcli_con_uuid { global COMPREPLY := '( '$( compgen -W "$(nmcli con list 2>/dev/null | \ tail -n +2 | awk -F ' {2,}' '{print $2}')" -- "$cur" ) ) } proc _nmcli_ap_ssid { var IFS = '$'\n'' global COMPREPLY := '( '$( compgen -W "$(nmcli dev wifi list 2>/dev/null | \ tail -n +2 | awk -F ' {2,}' '{print $1}')" -- "$cur" ) ) } proc _nmcli_ab_bssid { global COMPREPLY := '( '$( compgen -W "$(nmcli dev wifi list 2>/dev/null | \ tail -n +2 | awk -F ' {2,}' '{print $2}')" -- "$cur" ) ) } proc _nmcli { var cur = '', prev = '', words = '', cword = '' _init_completion || return matchstr $prev { -m|--mode { global COMPREPLY := '( '$( compgen -W 'tabular multiline' -- "$cur" ) ) return 0 } -f|--fields { global COMPREPLY := '( '$( compgen -W 'all common' -- "$cur" ) ) return 0 } -e|--escape { _nmcli_list "yes no" return 0 } id { _nmcli_con_id return 0 } uuid { _nmcli_con_uuid return 0 } iface { _available_interfaces return 0 } bssid { _nmcli_ab_bssid return 0 } wep-key-type { _nmcli_list "key phrase" return 0 } } if [[ $cword -eq 1 ]] { if [[ "$cur" == -* ]] { global COMPREPLY := '( '$( compgen -W '--terse --pretty --mode --fields --escape --version --help' -- "$cur" ) ) } else { global COMPREPLY := '( '$( compgen -W "nm con dev" -- "$cur" ) ) } } else { var object = $(words[1]) var command = $(words[2]) matchstr $object { nm { matchstr $command { enable { _nmcli_list "true false" return 0 } sleep { _nmcli_list "true false" return 0 } wifi { _nmcli_list "on off" return 0 } wwan { _nmcli_list "on off" return 0 } wimax { _nmcli_list "on off" return 0 } } global COMPREPLY := '( '$( compgen -W 'status permissions enable sleep wifi wwan wimax' -- "$cur" ) ) } con { matchstr $command { list { global COMPREPLY := '( '$( compgen -W 'id uuid' -- "$cur" ) ) return 0 } up { if [[ "$cur" == -* ]] { global COMPREPLY := '( '$( compgen -W '--nowait --timeout' \ -- "$cur" ) ) } else { global COMPREPLY := '( '$( compgen -W 'id uuid iface ap nsp' \ -- "$cur" ) ) } return 0 } down { global COMPREPLY := '( '$( compgen -W 'id uuid' -- "$cur" ) ) return 0 } delete { global COMPREPLY := '( '$( compgen -W 'id uuid' -- "$cur" ) ) return 0 } } global COMPREPLY := '( '$( compgen -W 'list status up down delete' \ -- "$cur" ) ) } dev { matchstr $command { list { global COMPREPLY := '( '$( compgen -W 'iface' -- "$cur" ) ) return 0 } disconnect { if [[ "$cur" == -* ]] { global COMPREPLY := '( '$( compgen -W '--nowait --timeout' \ -- "$cur" ) ) } else { global COMPREPLY := '( '$( compgen -W 'iface' -- "$cur" ) ) } return 0 } wifi { var subcommand = $(words[3]) matchstr $subcommand { list { global COMPREPLY := '( '$( compgen -W 'iface bssid' \ -- "$cur" ) ) return 0 } connect { if [[ "$cur" == -* ]] { global COMPREPLY := '( '$( compgen -W '--private --nowait --timeout' -- "$cur" ) ) } else { if [[ "$prev" == "connect" ]] { _nmcli_ap_ssid } else { global COMPREPLY := '( '$( compgen -W 'password wep-key-type iface bssid name' \ -- "$cur" ) ) } } return 0 } } global COMPREPLY := '( '$( compgen -W 'list connect' -- "$cur" ) ) return 0 } } global COMPREPLY := '( '$( compgen -W 'status list disconnect wifi' \ -- "$cur" ) ) } } } return 0 } && complete -F _nmcli nmcli # ex: ts=4 sw=4 et filetype=sh (CommandList children: [ (FuncDef name: _nmcli_list body: (BraceGroup children: [ (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 <"$1">)} {(--)} {(DQ ($ VSub_Name "$cur"))}) ] ) left_token: spids: [21 37] ) } ] ) } spids: [18] ) ] spids: [18] ) ] spids: [15] ) spids: [11 14] ) (FuncDef name: _nmcli_con_id body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ )} spids: [53] ) ] spids: [51] ) (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 (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(nmcli)} {(con)} {(list)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [76] ) ] ) (C {(tail)} {(-n)} {(Lit_Other "+") (2)}) (C {(awk)} {(-F)} {(SQ <" {2,}">)} {(SQ <"{print $1 }">)} ) ] negated: False ) ] ) left_token: spids: [69 103] ) ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [62 112] ) } ] ) } spids: [59] ) ] spids: [59] ) ] spids: [48] ) spids: [44 47] ) (FuncDef name: _nmcli_con_uuid body: (BraceGroup children: [ (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 (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(nmcli)} {(con)} {(list)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [143] ) ] ) (C {(tail)} {(-n)} {(Lit_Other "+") (2)}) (C {(awk)} {(-F)} {(SQ <" {2,}">)} {(SQ <"{print $2}">)} ) ] negated: False ) ] ) left_token: spids: [136 170] ) ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [129 179] ) } ] ) } spids: [126] ) ] spids: [126] ) ] spids: [123] ) spids: [119 122] ) (FuncDef name: _nmcli_ap_ssid body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ )} spids: [195] ) ] spids: [193] ) (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 (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(nmcli)} {(dev)} {(wifi)} {(list)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [220] ) ] ) (C {(tail)} {(-n)} {(Lit_Other "+") (2)}) (C {(awk)} {(-F)} {(SQ <" {2,}">)} {(SQ <"{print $1}">)} ) ] negated: False ) ] ) left_token: spids: [211 247] ) ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [204 256] ) } ] ) } spids: [201] ) ] spids: [201] ) ] spids: [190] ) spids: [186 189] ) (FuncDef name: _nmcli_ab_bssid body: (BraceGroup children: [ (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 (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(nmcli)} {(dev)} {(wifi)} {(list)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [289] ) ] ) (C {(tail)} {(-n)} {(Lit_Other "+") (2)}) (C {(awk)} {(-F)} {(SQ <" {2,}">)} {(SQ <"{print $2}">)} ) ] negated: False ) ] ) left_token: spids: [280 316] ) ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [273 325] ) } ] ) } spids: [270] ) ] spids: [270] ) ] spids: [267] ) spids: [263 266] ) (AndOr children: [ (FuncDef name: _nmcli body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[341]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[343]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[345]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[347]) ] spids: [339] ) (AndOr children: [(C {(_init_completion)}) (ControlFlow token:)] op_id: Op_DPipe ) (Case to_match: {($ VSub_Name "$prev")} arms: [ (case_arm pat_list: [{(-m)} {(--mode)}] 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 <"tabular multiline">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [374 390] ) } ] ) } spids: [371] ) ] spids: [371] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [365 368 400 -1] ) (case_arm pat_list: [{(-f)} {(--fields)}] 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 <"all common">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [412 428] ) } ] ) } spids: [409] ) ] spids: [409] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [403 406 438 -1] ) (case_arm pat_list: [{(-e)} {(--escape)}] action: [ (C {(_nmcli_list)} {(DQ ("yes no"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [441 444 459 -1] ) (case_arm pat_list: [{(id)}] action: [ (C {(_nmcli_con_id)}) (ControlFlow token: arg_word: {(0)} ) ] spids: [462 463 474 -1] ) (case_arm pat_list: [{(uuid)}] action: [ (C {(_nmcli_con_uuid)}) (ControlFlow token: arg_word: {(0)} ) ] spids: [477 478 489 -1] ) (case_arm pat_list: [{(iface)}] action: [ (C {(_available_interfaces)}) (ControlFlow token: arg_word: {(0)} ) ] spids: [492 493 504 -1] ) (case_arm pat_list: [{(bssid)}] action: [ (C {(_nmcli_ab_bssid)}) (ControlFlow token: arg_word: {(0)} ) ] spids: [507 508 519 -1] ) (case_arm pat_list: [{(wep-key-type)}] action: [ (C {(_nmcli_list)} {(DQ ("key phrase"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [522 523 538 -1] ) ] spids: [358 362 541] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {($ VSub_Name "$cword")} right: {(1)} ) ) terminator: ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$cur"))} right: {(-) (Lit_Other "*")} ) ) terminator: ) ] 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 < "--terse --pretty --mode --fields\n" > <" --escape --version --help"> ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [584 601] ) } ] ) } spids: [581] ) ] spids: [581] ) ] spids: [-1 578] ) ] 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)} {(DQ ("nm con dev"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [612 628] ) } ] ) } spids: [609] ) ] spids: [609] ) ] spids: [606 633] ) ] spids: [-1 559] ) ] else_action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:object) op: Equal rhs: { (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [642 647] ) } spids: [641] ) ] spids: [639] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:command) op: Equal rhs: { (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [653 658] ) } spids: [652] ) ] spids: [650] ) (Case to_match: {($ VSub_Name "$object")} arms: [ (case_arm pat_list: [{(nm)}] action: [ (Case to_match: {($ VSub_Name "$command")} arms: [ (case_arm pat_list: [{(enable)}] action: [ (C {(_nmcli_list)} {(DQ ("true false"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [680 681 696 -1] ) (case_arm pat_list: [{(sleep)}] action: [ (C {(_nmcli_list)} {(DQ ("true false"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [699 700 715 -1] ) (case_arm pat_list: [{(wifi)}] action: [ (C {(_nmcli_list)} {(DQ ("on off"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [718 719 734 -1] ) (case_arm pat_list: [{(wwan)}] action: [ (C {(_nmcli_list)} {(DQ ("on off"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [737 738 753 -1] ) (case_arm pat_list: [{(wimax)}] action: [ (C {(_nmcli_list)} {(DQ ("on off"))}) (ControlFlow token: arg_word: {(0)} ) ] spids: [756 757 772 -1] ) ] spids: [673 677 775] ) (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 <"status permissions enable sleep\n"> <" wifi wwan wimax"> ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [782 799] ) } ] ) } spids: [779] ) ] spids: [779] ) ] spids: [669 670 804 -1] ) (case_arm pat_list: [{(con)}] action: [ (Case to_match: {($ VSub_Name "$command")} arms: [ (case_arm pat_list: [{(list)}] 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 <"id uuid">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [825 841] ) } ] ) } spids: [822] ) ] spids: [822] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [818 819 851 -1] ) (case_arm pat_list: [{(up)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$cur"))} right: {(-) (Lit_Other "*")} ) ) terminator: ) ] 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 <"--nowait --timeout">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [880 898] ) } ] ) } spids: [877] ) ] spids: [877] ) ] spids: [-1 874] ) ] 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 <"id uuid iface ap nsp">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [909 927] ) } ] ) } spids: [906] ) ] spids: [906] ) ] spids: [903 932] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [854 855 940 -1] ) (case_arm pat_list: [{(down)}] 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 <"id uuid">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [950 966] ) } ] ) } spids: [947] ) ] spids: [947] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [943 944 976 -1] ) (case_arm pat_list: [{(delete)}] 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 <"id uuid">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [986 1002] ) } ] ) } spids: [983] ) ] spids: [983] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [979 980 1012 -1] ) ] spids: [811 815 1015] ) (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 <"list status up down delete">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1022 1040] ) } ] ) } spids: [1019] ) ] spids: [1019] ) ] spids: [807 808 1045 -1] ) (case_arm pat_list: [{(dev)}] action: [ (Case to_match: {($ VSub_Name "$command")} arms: [ (case_arm pat_list: [{(list)}] 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 )} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1066 1082] ) } ] ) } spids: [1063] ) ] spids: [1063] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [1059 1060 1092 -1] ) (case_arm pat_list: [{(disconnect)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$cur"))} right: {(-) (Lit_Other "*")} ) ) terminator: ) ] 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 <"--nowait --timeout">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1121 1139] ) } ] ) } spids: [1118] ) ] spids: [1118] ) ] spids: [-1 1115] ) ] 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 )} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1150 1166] ) } ] ) } spids: [1147] ) ] spids: [1147] ) ] spids: [1144 1171] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [1095 1096 1179 -1] ) (case_arm pat_list: [{(wifi)}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:subcommand) op: Equal rhs: { (BracedVarSub token: bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 3)}) ) spids: [1189 1194] ) } spids: [1188] ) ] spids: [1186] ) (Case to_match: {($ VSub_Name "$subcommand")} arms: [ (case_arm pat_list: [{(list)}] 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 <"iface bssid">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1212 1230] ) } ] ) } spids: [1209] ) ] spids: [1209] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [1205 1206 1240 -1] ) (case_arm pat_list: [{(connect)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$cur"))} right: {(-) (Lit_Other "*")} ) ) terminator: ) ] 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 <"--private\n"> < " --nowait --timeout" > ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1269 1286] ) } ] ) } spids: [1266] ) ] spids: [1266] ) ] spids: [-1 1263] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$prev"))} right: {(DQ (connect))} ) ) terminator: ) ] action: [(C {(_nmcli_ap_ssid)})] spids: [-1 1311] ) ] 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 <"password\n"> < " wep-key-type iface bssid name" > ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1323 1342] ) } ] ) } spids: [1320] ) ] spids: [1320] ) ] spids: [1317 1347] ) ] spids: [1291 1350] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [1243 1244 1358 -1] ) ] spids: [1198 1202 1361] ) (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 <"list connect">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1368 1384] ) } ] ) } spids: [1365] ) ] spids: [1365] ) (ControlFlow token: arg_word: {(0)} ) ] spids: [1182 1183 1394 -1] ) ] spids: [1052 1056 1397] ) (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 <"status list disconnect wifi">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [1404 1422] ) } ] ) } spids: [1401] ) ] spids: [1401] ) ] spids: [1048 1049 1427 -1] ) ] spids: [662 666 1430] ) ] spids: [636 1434] ) (ControlFlow token: arg_word:{(0)}) ] spids: [336] ) spids: [332 335] ) (C {(complete)} {(-F)} {(_nmcli)} {(nmcli)}) ] op_id: Op_DAmp ) ] )