(command.CommandList children: [ (command.ShFunction name: _lintian_tags body: (command.BraceGroup children: [ (C {<local>} {<match>} {<search>} {<tags>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tags) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<awk>} {(SQ <'/^Tag/ { print $2 }'>)} {</usr/share/lintian/checks/> <Id.Lit_Star '*'> <.desc>} ) ] ) ) } spids: [21] ) ] ) (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 '*'> <Id.Lit_Other ','>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:search) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {<','>} replace: {<' '>} replace_mode: Id.Lit_Slash ) ) } spids: [56] ) ] ) (command.ForEach iter_name: item iter_words: [{($ Id.VSub_DollarName '$search')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:match) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<command>} {<grep>} {<-nE>} { (DQ <'^Tag: '> ($ Id.VSub_DollarName '$item') <Id.Lit_Other '$'> ) } {</usr/share/lintian/checks/> <Id.Lit_Star '*'> <.desc>} ) (C {<cut>} {<-d> <Id.Lit_Other ':'>} {<-f1>}) ] negated: F ) ] ) ) } spids: [79] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tags) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<sed>} {<-e>} { (DQ <s/> <Id.Lit_Other '\\'> <'<'> ($ Id.VSub_DollarName '$item') <Id.Lit_Other '\\'> <'>//g'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$tags')} ) ] ) ] ) ) } spids: [112] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$tags'))}) ] ) ) } ] ) } spids: [137] ) ] ) ] spids: [37 53] ) (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 '*'> <Id.Lit_Other ','> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P>} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<',*'>} ) ) <','> ) } {<-W>} {(DQ ($ Id.VSub_DollarName '$tags'))} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPound arg_word: {<'*,'>} ) ) ) } ) ] ) ) } ] ) } spids: [173] ) ] ) ] spids: [153 170] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$tags'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [213] ) ] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: _lintian_checks body: (command.BraceGroup children: [ (C {<local>} {<match>} {<search>} {<todisable>} {<checks>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checks) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<awk>} {(SQ <'/^(Check-Script|Abbrev)/ { print $2 }'>)} {</usr/share/lintian/checks/> <Id.Lit_Star '*'> <.desc>} ) ] ) ) } spids: [264] ) ] ) (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 '*'> <Id.Lit_Other ','>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:search) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {<','>} replace: {<' '>} replace_mode: Id.Lit_Slash ) ) } spids: [301] ) ] ) (command.ForEach iter_name: item iter_words: [{($ Id.VSub_DollarName '$search')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:match) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<command>} {<grep>} {<-nE>} { (DQ <'^(Check-Script|Abbrev): '> ($ Id.VSub_DollarName '$item') <Id.Lit_Other '$'> ) } {</usr/share/lintian/checks/> <Id.Lit_Star '*'> <.desc>} ) (C {<cut>} {<-d> <Id.Lit_Other ':'>} {<-f1>}) ] negated: F ) ] ) ) } spids: [324] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:todisable) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<awk>} {(SQ <'/^(Check-Script|Abbrev)/ { print $2 }'>)} {($ Id.VSub_DollarName '$match')} ) ] ) ) } spids: [357] ) ] ) (command.ForEach iter_name: name iter_words: [{($ Id.VSub_DollarName '$todisable')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checks) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<sed>} {<-e>} { (DQ <s/> <Id.Lit_Other '\\'> <'<'> ($ Id.VSub_DollarName '$name') <Id.Lit_Other '\\'> <'>//g'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$checks')} ) ] ) ] ) ) } spids: [383] ) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$checks'))}) ] ) ) } ] ) } spids: [411] ) ] ) ] spids: [282 298] ) (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 '*'> <Id.Lit_Other ','> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P>} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<',*'>} ) ) <','> ) } {<-W>} {(DQ ($ Id.VSub_DollarName '$checks'))} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPound arg_word: {<'*,'>} ) ) ) } ) ] ) ) } ] ) } spids: [447] ) ] ) ] spids: [427 444] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$checks'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [487] ) ] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: _lintian_infos body: (command.BraceGroup children: [ (C {<local>} {<match>} {<search>} {<infos>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:infos) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<awk>} {(SQ <'/^Collector/ { print $2 }'>)} {</usr/share/lintian/collection/> <Id.Lit_Star '*'> <.desc>} ) ] ) ) } spids: [536] ) ] ) (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 '*'> <Id.Lit_Other ','>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:search) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.PatSub pat: {<','>} replace: {<' '>} replace_mode: Id.Lit_Slash ) ) } spids: [573] ) ] ) (command.ForEach iter_name: item iter_words: [{($ Id.VSub_DollarName '$search')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:match) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<command>} {<grep>} {<-nE>} { (DQ <'^Collector: '> ($ Id.VSub_DollarName '$item') <Id.Lit_Other '$'> ) } {</usr/share/lintian/collection/> <Id.Lit_Star '*'> <.desc>} ) (C {<cut>} {<-d> <Id.Lit_Other ':'>} {<-f1>}) ] negated: F ) ] ) ) } spids: [596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:infos) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<sed>} {<-e>} { (DQ <s/> <Id.Lit_Other '\\'> <'<'> ($ Id.VSub_DollarName '$item') <Id.Lit_Other '\\'> <'>//g'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$infos')} ) ] ) ] ) ) } spids: [629] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$infos'))}) ] ) ) } ] ) } spids: [654] ) ] ) ] spids: [554 570] ) (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 '*'> <Id.Lit_Other ','> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-P>} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_Percent arg_word: {<',*'>} ) ) <','> ) } {<-W>} {(DQ ($ Id.VSub_DollarName '$infos'))} {<-->} { (DQ (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPound arg_word: {<'*,'>} ) ) ) } ) ] ) ) } ] ) } spids: [690] ) ] ) ] spids: [670 687] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$infos'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [730] ) ] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: _lintian_arches body: (command.BraceGroup children: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _lintian body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<action>} {<lint_actions>} {<general_opts>} {<behaviour_opts>} {<configuration_opts>} {<selection_opts>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lint_actions) op: assign_op.Equal rhs: { (DQ <'--setup-lab --remove-lab --check --check-part --tags\n'> < ' --tags-from-file --ftp-master-rejects --dont-check-part --unpack\n' > <' --remove'> ) } spids: [820] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:general_opts) op: assign_op.Equal rhs: {(DQ <'--help --version --print-version --verbose --debug --quiet'>)} spids: [828] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:behaviour_opts) op: assign_op.Equal rhs: { (DQ <'--info --display-info --display-experimental --pedantic\n'> < ' --display-level --suppress-tags --suppress-tags-from-file --no-override\n' > <' --show-overrides --color --unpack-info --md5sums --checksums\n'> <' --allow-root --fail-on-warnings --keep-lab'> ) } spids: [834] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:configuration_opts) op: assign_op.Equal rhs: { (DQ <'--cfg --lab --archivedir --dist --area --section --arch\n'> <' --root'> ) } spids: [843] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:selection_opts) op: assign_op.Equal rhs: {(DQ <'--all --binary --source --udeb --packages-file'>)} spids: [850] ) ] ) (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: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-C>} {<--check-part>} {<-X>} {<--dont-check-part>}] action: [(C {<_lintian_checks>})] spids: [883 890 896 -1] ) (case_arm pat_list: [{<-T>} {<--tags>} {<--suppress-tags>}] action: [(C {<_lintian_tags>})] spids: [899 904 910 -1] ) (case_arm pat_list: [ {<--tags-from-file>} {<--suppress-tags-from-file>} {<--cfg>} {<-p>} {<--packages-file>} ] action: [(C {<_filedir>})] spids: [913 924 930 -1] ) (case_arm pat_list: [{<--lab>} {<--archivedir>} {<--dist>} {<--root>}] action: [(C {<_filedir>} {<-d>})] spids: [933 940 948 -1] ) (case_arm pat_list: [{<--color>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ <'never always auto html'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [955] ) ] ) ] spids: [951 952 975 -1] ) (case_arm pat_list: [{<-U>} {<--unpack-info>}] action: [(C {<_lintian_infos>})] spids: [978 981 987 -1] ) (case_arm pat_list: [{<--area>} {<--section>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ <'main contrib non-free'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [996] ) ] ) ] spids: [990 993 1016 -1] ) (case_arm pat_list: [{<--arch>}] spids: [1019 1020 1023 -1] ) ] ) ] spids: [857 873] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cur'))} arms: [ (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: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$lint_actions') <' '> ($ Id.VSub_DollarName '$general_opts') <'\n'> <' '> ($ Id.VSub_DollarName '$behaviour_opts') <' '> ($ Id.VSub_DollarName '$configuration_opts') ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1047] ) ] ) ] spids: [1042 1044 1074 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <Id.Lit_Comma ','>}] action: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$prev'))} arms: [ (case_arm pat_list: [{<-C>} {<--check-part>} {<-X>} {<--dont-check-part>}] action: [(C {<_lintian_checks>})] spids: [1103 1110 1116 -1] ) (case_arm pat_list: [{<-T>} {<--tags>} {<--suppress-tags>}] action: [(C {<_lintian_tags>})] spids: [1119 1124 1130 -1] ) (case_arm pat_list: [{<-U>} {<--unpack-info>}] action: [(C {<_lintian_infos>})] spids: [1133 1136 1142 -1] ) ] ) ] spids: [1077 1079 1148 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<_filedir>} {(SQ <'@(?(u)deb|changes|dsc)'>)})] spids: [1151 1152 1162 -1] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ) ) (C {<complete>} {<-F>} {<_lintian>} {<lintian>}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _lintian_info body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$prev'))} arms: [ (case_arm pat_list: [{<-t>} {<--tags>}] action: [ (C {<_lintian_tags>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1220 1223 1234 -1] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$cur'))} arms: [ (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: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ <'--annotate --help --tags'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1255] ) ] ) ] spids: [1250 1252 1275 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<_filedir>})] spids: [1278 1279 1285 -1] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ) ) (C {<complete>} {<-F>} {<_lintian_info>} {<lintian-info>}) ] ) ] )