(AndOr OP_AND_IF (FunctionDef _portinstall [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} ) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[{[LIT_CHARS portsdir]}, {[LIT_CHARS indexfile]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS COMPREPLY2]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('portsdir', {[VarSub PORTSDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS usr] [LIT_SLASH /] [LIT_CHARS ports]}] [LIT_CHARS /]})]) (= scope= flags=0 words=[] bindings=[('indexfile', {[VarSub portsdir] [LIT_CHARS /INDEX-5]})]) (AndOr OP_OR_IF (DBracket {B? LOGICAL_BINARY_AND {B2 BINARY_STRING_EQUAL {[DQ [VarSub OSTYPE transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS ".*"]}]]]} {[LIT_CHARS freebsd5]}} {B1 UNARY_FILE_f {[VarSub indexfile]}}}) (= scope= flags=0 words=[] bindings=[('indexfile', {[VarSub portsdir] [LIT_CHARS /INDEX]})]) ) (AndOr OP_AND_IF (DBracket {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub prev]]} {[LIT_CHARS -l]}} {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub prev]]} {[LIT_CHARS -L]}} {B2 BINARY_STRING_EQUAL {[DQ [VarSub prev]]} {[LIT_CHARS -o]}}}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2) (FilenameRedirectNode filename={[VarSub indexfile]} 0)]{[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -E]} {[DQ [LIT_CHARS "^"][VarSub cur]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [SQ ]} {[LIT_CHARS -f1]}) )]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY2', {[Array {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2) (FilenameRedirectNode filename={[VarSub indexfile]} 0)]{[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -E]} {[DQ [LIT_CHARS "^[^"][\ LIT_ESCAPED_CHAR "\\|"][LIT_CHARS "]+"][\ LIT_ESCAPED_CHAR "\\|"][VarSub portsdir][VarSub cur]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [SQ ]} {[LIT_CHARS -f2]}) )]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY2', {[Array {[VarSub COMPREPLY2 bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[VS_UNARY_POUND {[VarSub portsdir]}]]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY+', {[Array {[DQ [VarSub COMPREPLY2 bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _portinstall]} {[LIT_CHARS -o]} {[LIT_CHARS dirnames]} {[LIT_CHARS portinstall]} ) )