(CommandList children: [ (FuncDef name: k_config_command body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [58] ) ] spids: [56] ) (C {(shift)}) (C {(CFGET_BIN)} {(--plugin)} {(DQ (${ VSub_Name KOALEPHANT_LIB_PATH) (/cfget-plugins/))} {(--format)} {(nestedini)} {(--cfg)} {(DQ (${ VSub_Name file))} {(--quiet)} {(DQ ($ VSub_At '$@'))} ) ] spids: [53] ) spids: [49 52] ) (FuncDef name: k_config_sections body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [133] ) ] spids: [131] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(DQ )} spids:[141])] spids: [139] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [153 156] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(DQ ('--root ') (${ VSub_Number 2))} spids: [165] ) ] spids: [165] ) ] spids: [16777215 162] ) ] spids: [16777215 174] ) (AndOr ops: [Op_DPipe] children: [ (C {(k_config_command)} {(DQ (${ VSub_Name file))} {(--dump)} {(sections)} {(${ VSub_Name root)} ) (C {(true)}) ] ) ] spids: [128] ) spids: [124 127] ) (FuncDef name: k_config_keys body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [234] ) ] spids: [232] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(DQ )} spids:[242])] spids: [240] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [254 257] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(DQ ('--root ') (${ VSub_Number 2))} spids: [266] ) ] spids: [266] ) ] spids: [16777215 263] ) ] spids: [16777215 275] ) (C {(k_config_command)} {(DQ (${ VSub_Name file))} {(--dump)} {(keys)} {(${ VSub_Name root)}) ] spids: [229] ) spids: [225 228] ) (FuncDef name: k_config_read body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [(C {(k_config_read_error)} {(DQ ($ VSub_At '$@'))}) (C {(true)})] ) ] spids: [332] ) spids: [328 331] ) (FuncDef name: k_config_read_error body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [393] ) ] spids: [391] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [401] ) ] spids: [399] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:root) op:Equal rhs:{(DQ )} spids:[409])] spids: [407] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [421 424] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(DQ ('--root ') (${ VSub_Number 3))} spids: [433] ) ] spids: [433] ) ] spids: [16777215 430] ) ] spids: [16777215 442] ) (C {(k_config_command)} {(DQ (${ VSub_Name file))} {(${ VSub_Name root)} {(DQ (${ VSub_Name key))} ) ] spids: [388] ) spids: [384 387] ) (FuncDef name: k_config_read_string body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [507] ) ] spids: [505] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [515] ) ] spids: [513] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:default) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [525 528] ) ) } spids: [523] ) ] spids: [521] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [536 539] ) ) } spids: [534] ) ] spids: [532] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:value) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(k_config_read)} {(DQ ($ VSub_Name '$file'))} {(DQ ($ VSub_Name '$key'))} {(DQ (${ VSub_Name root))} ) ] ) left_token: <Left_CommandSub '$('> spids: [548 564] ) ) } spids: [546] ) ] spids: [544] ) (C {(printf)} {(DQ ('%s'))} { (DQ (BracedVarSub token: <VSub_Name value> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$default')} ) spids: [576 580] ) ) } ) ] spids: [502] ) spids: [498 501] ) (FuncDef name: k_config_read_bool body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [625] ) ] spids: [623] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [633] ) ] spids: [631] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:default) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [643 646] ) ) } spids: [641] ) ] spids: [639] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [654 657] ) ) } spids: [652] ) ] spids: [650] ) (C {(k_bool_parse)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(k_config_read)} {(DQ (${ VSub_Name file))} {(DQ (${ VSub_Name key))} {(DQ (${ VSub_Name root))} ) ] ) left_token: <Left_CommandSub '$('> spids: [665 685] ) ) } {(DQ (${ VSub_Name default))} ) ] spids: [620] ) spids: [616 619] ) (FuncDef name: k_config_test_bool body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [736] ) ] spids: [734] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [744] ) ] spids: [742] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:default) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [754 757] ) ) } spids: [752] ) ] spids: [750] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [765 768] ) ) } spids: [763] ) ] spids: [761] ) (C {(k_bool_test)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(k_config_read_string)} {(DQ (${ VSub_Name file))} {(DQ (${ VSub_Name key))} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(k_bool_parse)} {(DQ (${ VSub_Name default))})] ) left_token: <Left_CommandSub '$('> spids: [792 800] ) ) } {(DQ (${ VSub_Name root))} ) ] ) left_token: <Left_CommandSub '$('> spids: [776 808] ) ) } ) ] spids: [731] ) spids: [727 730] ) (FuncDef name: k_config_read_keyword body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [856] ) ] spids: [854] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [864] ) ] spids: [862] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:default) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [872] ) ] spids: [870] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [880] ) ] spids: [878] ) (C {(shift)} {(4)}) (C {(k_string_keyword)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(k_config_read_string)} {(DQ (${ VSub_Name file))} {(DQ (${ VSub_Name key))} {(DQ (${ VSub_Name default))} {(DQ (${ VSub_Name root))} ) ] ) left_token: <Left_CommandSub '$('> spids: [896 922] ) ) } {(DQ ($ VSub_At '$@'))} {(DQ ($ VSub_Name '$default'))} ) ] spids: [851] ) spids: [847 850] ) ] )