(command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _nmap body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(lhs_expr.LhsName name:cur) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:prev) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:words) op:Equal) (assign_pair lhs:(lhs_expr.LhsName name:cword) op:Equal) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Case to_match: {($ VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [ {(-iL)} {(-oN)} {(-oX)} {(-oS)} {(-oG)} {(---excludefile)} {(--resume)} {(--stylesheet)} ] action: [ (C {(_filedir)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(-oA)} {(--datadir)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(-e)}] action: [ (C {(_available_interfaces)} {(-a)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(-b)} {(--dns-servers)}] action: [ (C {(_known_hosts_real)} {(DQ ($ VSub_DollarName '$cur'))}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ <'-iL -iR --exclude --excludefile -sL -sP -PN\n'> < ' -PS -PA -PU -PY -PE -PP -PM -PO -n -R --dns-servers --system-dns\n' > <' --traceroute -sS -sT -sA -sW -sM -sU -sN -sF -sX --scanflags -sI\n'> < ' -sY -sZ -sO -b -p -F -r --top-ports --port-ratio -sV\n' > <' --version-intensity --version-light --version-all --version-trace\n'> < ' -sC --script= --script-args= --script-trace --script-updatedb -O\n' > <' --osscan-limit --osscan-guess -T0 -T1 -T2 -T3 -T4 -T5\n'> < ' --min-hostgroup --max-hostgroup --min-parallelism --max-parallelism\n' > <' --min-rtt-timeout --max-rtt-timeout --initial-rtt-timeout\n'> < ' --max-retries --host-timeout --scan-delay --max-scan-delay\n' > <' --min-rate --max-rate -f --mtu -D -S -e --source-port --data-length\n'> < ' --ip-options --ttl --spoof-mac --badsum --adler32 -oN -oX -oS -oG\n' > <' -oA -v -d --reason --open --packet-trace --iflist --log-errors\n'> < ' --append-output --resume --stylesheet --webxml --no-stylesheet -6\n' > <' -A --datadir --send-eth --send-ip --privilege--unprivileged -V\n'> <' -h'> ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> ) } ] ) } ) ] ) ] ) ] else_action: [(C {(_known_hosts_real)} {(DQ ($ VSub_DollarName '$cur'))})] ) ] ) ) (C {(complete)} {(-F)} {(_nmap)} {(nmap)}) ] )