(List (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -f]} {[LIT_CHARS /etc/profile.d/modules.sh]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (FunctionDef _module_list [] (List (= scope= flags=0 words=[] bindings=[('modules', {[DQ [ComSub (Pipeline (Com redirects=[(HereWordRedirectNode here_word={[VarSub LOADEDMODULES]} 0)]{[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS sort]}) )]]})]) (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[DQ [VarSub modules]]} {[LIT_CHARS --]} {[VarSub 1]} ) ) ) (FunctionDef _module_path [] (List (= scope= flags=0 words=[] bindings=[('modules', {[DQ [ComSub (Pipeline (Com redirects=[(HereWordRedirectNode here_word={[VarSub MODULEPATH]} 0)]{[LIT_CHARS sed]} {[SQ ]}) (Com {[LIT_CHARS sort]}) )]]})]) (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[DQ [VarSub modules]]} {[LIT_CHARS --]} {[VarSub 1]} ) ) ) (FunctionDef _module_avail [] (List (= scope= flags=0 words=[] bindings=[('modules', {[DQ [ComSub (Pipeline (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[LIT_CHARS module]} {[LIT_CHARS avail]}) (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -E]} {[LIT_CHARS -v]} {[SQ ]}) (Com {[LIT_CHARS xargs]} {[LIT_CHARS printf]} {[SQ ]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) (Com {[LIT_CHARS sort]}) )]]})]) (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[DQ [VarSub modules]]} {[LIT_CHARS --]} {[VarSub 1]} ) ) ) (AndOr OP_AND_IF (FunctionDef _module [] (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]} ) ) (If (DBracket {B2 BINARY_INT_EQ {[VarSub cword]} {[LIT_CHARS 1]}}) (List (= scope= flags=0 words=[{[LIT_CHARS options]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('options', {[DQ [ComSub (Pipeline (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[LIT_CHARS module]} {[LIT_CHARS help]}) (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -E]} {[SQ ]}) (Com {[LIT_CHARS awk]} {[SQ ]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) (Com {[LIT_CHARS sort]}) )]]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[DQ [VarSub options]]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) (DBracket {B2 BINARY_INT_EQ {[VarSub cword]} {[LIT_CHARS 2]}}) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS add]}, {[LIT_CHARS display]}, {[LIT_CHARS help]}, {[LIT_CHARS load]}, {[LIT_CHARS show]}, {[LIT_CHARS whatis]}], [{[LIT_CHARS rm]}, {[LIT_CHARS switch]}, {[LIT_CHARS swap]}, {[LIT_CHARS unload]}, {[LIT_CHARS update]}], [{[LIT_CHARS unuse]}]] (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _module_avail]} {[DQ [VarSub cur]]})]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _module_list]} {[DQ [VarSub cur]]})]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _module_path]} {[DQ [VarSub cur]]})]}]})]) ) (DBracket {B2 BINARY_INT_EQ {[VarSub cword]} {[LIT_CHARS 3]}}) (Case to_match={[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}})]}, pat_word_list=[[{[LIT_CHARS swap]}, {[LIT_CHARS switch]}]] (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _module_avail]} {[DQ [VarSub cur]]})]}]})]) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _module]} {[LIT_CHARS -o]} {[LIT_CHARS default]} {[LIT_CHARS module]} ) ) )