(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _feh body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(split)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)} {(-s)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:30) ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$prev'))} arms: [ (case_arm pat_list: [{(-B)} {(--image-bg)}] 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:50) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:52) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'checks white black' span_id: 59 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [49] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:73) ) ] spids: [43 46 76 -1] ) (case_arm pat_list: [ {(-f)} {(--filelist)} {(-o)} {(--output)} {(-O)} {(--output-only)} {(-) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\|' span_id:92) ) } {(--start-at)} ] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:101) ) ] spids: [79 95 104 -1] ) (case_arm pat_list: [{(-K)} {(--caption-path)} {(-C)} {(--fontpath)} {(-j)} {(--output-dir)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:126) ) ] spids: [107 118 129 -1] ) (case_arm pat_list: [ {(-e)} {(--font)} {(-M)} {(--menu-font)} {(-) (Id.Lit_Other '@')} {(--title-font)} ] 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 '*') (/) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:166) ) ] 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:175) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 177 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-P)} {(DQ ($ Id.VSub_DollarName '$cur'))} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'{0..9}' span_id:190))} ) ] ) ) } ] ) } spids: [174] ) ] ) (C {(compopt)} {(-o)} {(nospace)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:205) ) ] spids: [151 168] ) ] ) (C {(local)} {(font_path)}) (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:236) 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:245) ) 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: 265 ) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 267 ) ) ) ) } right: {(-) (word_part.ExtGlob op: (Token id:Id.ExtGlob_At val:'@(' span_id:274) arms: [{(C)} {(-fontpath)}] ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:281) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:font_path) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: words span_id: 289 ) 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: 291 ) ) right: (arith_expr.ArithWord w: {(Id.Lit_Digits 1)} ) ) ) ) ) } spids: [286] ) ] ) (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:300) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 302 ) command_list: (command.CommandList children: [ (command.Sentence child: (command.Simple words: [ {(cd)} { (DQ ($ Id.VSub_DollarName '$font_path' ) ) } ] redirects: [ (redir.Redir op: (Token id: Id.Redir_Great val: '2>' span_id: 310 ) fd: 2 arg_word: {(/dev/null)} ) ] ) terminator: (Token id: Id.Op_Semi val: ';' span_id: 313 ) ) (C {(compgen)} {(-f)} {(-X)} {(DQ ('!*.@([tT][tT][fF])'))} {(-S)} {(/)} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [299] ) ] ) ] spids: [260 283] ) ] ) ] ) ) (C {(compopt)} {(-o)} {(nospace)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:355) ) ] spids: [132 144 358 -1] ) (case_arm pat_list: [{(-T)} {(--theme)}] action: [ (C {(local)} {(Id.Lit_VarLike 'conf_path=') (Id.Lit_TildeLike '~') (/.config/feh/themes)} ) (C {(local)} {(theme_name)} {(theme_opts)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_r child: {($ Id.VSub_DollarName '$conf_path')} ) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:391) ) ] ) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:394) cond: [ (command.Sentence child: (C {(read)} {(theme_name)} {(theme_opts)}) terminator: (Token id:Id.Op_Semi val:';' span_id:401) ) ] body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$theme_name'))} right: {(SQ (Token id:Id.Lit_Chars val:'#' span_id:417)) (Id.Lit_Other '*') } ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$theme_name'))} right: {(DQ )} ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:433) ) ] action: [ (command.ControlFlow token: (Token id: Id.ControlFlow_Continue val: continue span_id: 438 ) ) ] spids: [406 435] ) ] ) (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:445) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 447 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ Id.VSub_DollarName '$theme_name'))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [444] ) ] ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:470) fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$conf_path'))} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:477) ) ] spids: [361 364 480 -1] ) (case_arm pat_list: [{(-S)} {(--sort)}] 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:490) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:492) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'name filename mtime width height\n' span_id: 499 ) (Token id:Id.Lit_Chars val:' pixels size format' span_id:500) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [489] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:514) ) ] spids: [483 486 517 -1] ) (case_arm pat_list: [ {(-R)} {(--reload)} {(-H)} {(--limit-height)} {(-W)} {(--limit-width)} {(-E)} {(--thumb-height)} {(-y)} {(--thumb-width)} {(-J)} {(--thumb-redraw)} {(--magick-timeout)} ] action: [ (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:555) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:557) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'{0..9}' span_id:564))} ) ] ) ) } ] ) } spids: [554] ) ] ) (C {(compopt)} {(-o)} {(nospace)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:579) ) ] spids: [520 547 582 -1] ) (case_arm pat_list: [{(--zoom)}] 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:594) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:596) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'max fill' span_id: 603 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [593] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.LogicalNot child: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$cur')}) ) right: (bool_expr.LogicalNot child: (bool_expr.WordTest w: {($ Id.VSub_DollarName '$COMPREPLY')} ) ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:632) ) ] action: [ (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:638) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 640 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '{0..9}' span_id: 647 ) ) } ) ] ) ) } ] ) } spids: [637] ) ] ) (C {(compopt)} {(-o)} {(nospace)}) ] spids: [617 634] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:665) ) ] spids: [585 586 668 -1] ) (case_arm pat_list: [{(-a)} {(--alpha)}] 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:678) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:680) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '{0..255}' span_id: 687 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [677] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:701) ) ] spids: [671 674 704 -1] ) (case_arm pat_list: [{(-b)} {(--bg)}] action: [ (C {(_filedir)}) (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:717) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:719) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:trans span_id:726))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [716] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:740) ) ] spids: [707 710 743 -1] ) (case_arm pat_list: [{(-g)} {(--geometry)} {(--max-dimension)} {(--min-dimension)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$cur')}) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(Id.Lit_Other '*') (x) (Id.Lit_Other '*')} ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:779) ) ] 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:785) words: [{(x)}] ) } spids: [784] ) ] ) ] spids: [760 781] ) ] ) (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:796) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:798) command_list: (command.CommandList children: [(C {(compgen)} {(-W)} {(DQ ('{0..9}'))})] ) ) } ] ) } spids: [795] ) ] ) (C {(compopt)} {(-o)} {(nospace)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:820) ) ] spids: [746 753 823 -1] ) (case_arm pat_list: [ {(-L)} {(--customlist)} {(--index-info)} {(--info)} {(-D)} {(--slideshow-delay)} {(-) (Id.Lit_TildeLike '~')} {(--thumb-title)} {(-) (Id.Lit_Other '^')} {(--title)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:856) ) ] spids: [826 849 859 -1] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$split')}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:870) ) ] ) (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:888) ) ] 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:894) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:896) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" --help )' span_id: 903 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [893] ) ] ) (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.BoolBinary_GlobEqual '=')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$COMPREPLY')}) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:945) ) ] ) ] spids: [874 890] ) ] ) (C {(_filedir)} { (SQ (Token id: Id.Lit_Chars val: 'xpm|tif?(f)|png|p[npgba]m|iff|?(i)lbm|jp?(e)g|jfi?(f)|gif|bmp|arg?(b)|tga|xcf|ani|ico|?(e)ps|pdf|dvi|txt|svg?(z)|cdr|[ot]tf' span_id: 963 ) ) } ) ] ) ) (C {(complete)} {(-F)} {(_feh)} {(feh)}) ] )