@@ -163,10 +163,12 @@ local build_grammar = wrap_env(debug_grammar, function(root)
163163 Callable = pos (Name / mark (" ref" )) + SelfName + VarArg + Parens / mark (" parens" ),
164164 Parens = sym (" (" ) * SpaceBreak ^ 0 * Exp * SpaceBreak ^ 0 * sym (" )" ),
165165 FnArgs = symx (" (" ) * SpaceBreak ^ 0 * Ct (ExpList ^ - 1 ) * SpaceBreak ^ 0 * sym (" )" ) + sym (" !" ) * - P (" =" ) * Ct (" " ),
166- Chain = (Callable + String + - S (" .\\ " )) * ChainItems / mark (" chain" ),
167- ChainItems = ChainItem ^ 1 * ColonChainItem ^ - 1 + ColonChainItem ,
168- ChainItem = Invoke + symx (" ." ) * _Name / mark (" dot" ) + Slice + symx (" [" ) * Exp / mark (" index" ) * sym (" ]" ),
169- ColonChainItem = symx (" \\ " ) * _Name / mark (" colon" ) * (Invoke * ChainItems ^ - 1 ) ^ - 1 ,
166+ Chain = (Callable + String + - S (" .\\ " )) * ChainItems / mark (" chain" ) + Space * (DotChainItem * ChainItems ^ - 1 + ColonChain ) / mark (" chain" ),
167+ ChainItems = ChainItem ^ 1 * ColonChain ^ - 1 + ColonChain ,
168+ ChainItem = Invoke + DotChainItem + Slice + symx (" [" ) * Exp / mark (" index" ) * sym (" ]" ),
169+ DotChainItem = symx (" ." ) * _Name / mark (" dot" ),
170+ ColonChainItem = symx (" \\ " ) * _Name / mark (" colon" ),
171+ ColonChain = ColonChainItem * (Invoke * ChainItems ^ - 1 ) ^ - 1 ,
170172 Slice = symx (" [" ) * (SliceValue + Cc (1 )) * sym (" ," ) * (SliceValue + Cc (" " )) * (sym (" ," ) * SliceValue ) ^ - 1 * sym (" ]" ) / mark (" slice" ),
171173 Invoke = FnArgs / mark (" call" ) + SingleString / wrap_func_arg + DoubleString / wrap_func_arg + # P (" [" ) * LuaString / wrap_func_arg ,
172174 TableValue = KeyValue + Ct (Exp ),
0 commit comments