# optipng(1) completion -*- shell-script -*- proc _optipng { var cur = '', prev = '', words = '', cword = '' _init_completion || return matchstr $prev { -'?'|-h|--help|-f { return } -o { global COMPREPLY := '( '$( compgen -W '{0..7}' -- "$cur" ) ) return } -out|-log { _filedir return } -dir { _filedir -d return } -i { global COMPREPLY := '( '$( compgen -W '0 1' -- "$cur" ) ) return } -zc|-zm { global COMPREPLY := '( '$( compgen -W '{1..9}' -- "$cur" ) ) return } -zw { global COMPREPLY := '( '$( compgen -W '256 512 1k 2k 4k 8k 16k 32k' \ -- "$cur" ) ) return } -strip { global COMPREPLY := '( '$( compgen -W 'all' -- "$cur" ) ) return } } if [[ $cur == -* ]] { global COMPREPLY := '( '$( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) return } _filedir '@(png|bmp|gif|pnm|tif?(f))' } && complete -F _optipng optipng # ex: ts=4 sw=4 et filetype=sh (CommandList children: [ (AndOr children: [ (FuncDef name: _optipng body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[13]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[15]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[17]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[19]) ] spids: [11] ) (AndOr children: [(C {(_init_completion)}) (ControlFlow token:)] op_id: Op_DPipe ) (Case to_match: {($ VSub_Name "$prev")} arms: [ (case_arm pat_list: [{(-) (SQ <"?">)} {(-h)} {(--help)} {(-f)}] action: [(ControlFlow token:)] spids: [37 47 53 -1] ) (case_arm pat_list: [{(-o)}] 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 <"{0..7}">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [63 79] ) } ] ) } spids: [60] ) ] spids: [60] ) (ControlFlow token:) ] spids: [56 57 87 -1] ) (case_arm pat_list: [{(-out)} {(-log)}] action: [(C {(_filedir)}) (ControlFlow token:)] spids: [90 93 102 -1] ) (case_arm pat_list: [{(-dir)}] action: [(C {(_filedir)} {(-d)}) (ControlFlow token:)] spids: [105 106 117 -1] ) (case_arm pat_list: [{(-i)}] 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 <"0 1">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [127 143] ) } ] ) } spids: [124] ) ] spids: [124] ) (ControlFlow token:) ] spids: [120 121 151 -1] ) (case_arm pat_list: [{(-zc)} {(-zm)}] 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 <"{1..9}">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [163 179] ) } ] ) } spids: [160] ) ] spids: [160] ) (ControlFlow token:) ] spids: [154 157 187 -1] ) (case_arm pat_list: [{(-zw)}] 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 <"256 512 1k 2k 4k 8k 16k 32k">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [197 215] ) } ] ) } spids: [194] ) ] spids: [194] ) (ControlFlow token:) ] spids: [190 191 223 -1] ) (case_arm pat_list: [{(-strip)}] 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: [233 249] ) } ] ) } spids: [230] ) ] spids: [230] ) (ControlFlow token:) ] spids: [226 227 257 -1] ) ] spids: [30 34 260] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ 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 <"$( _parse_help \"$1\" )">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: spids: [284 300] ) } ] ) } spids: [281] ) ] spids: [281] ) (ControlFlow token:) ] spids: [-1 278] ) ] spids: [-1 308] ) (C {(_filedir)} {(SQ <"@(png|bmp|gif|pnm|tif?(f))">)}) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_optipng)} {(optipng)}) ] op_id: Op_DAmp ) ] )