Skip to content

Commit 4c62274

Browse files
committed
added support for html escaped greater and less than symbols
1 parent 781a30d commit 4c62274

File tree

3 files changed

+557
-305
lines changed

3 files changed

+557
-305
lines changed

StringGrammar.peg

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,14 @@ QueryFilterStage = id: IdentifierDash query: QueryFilterModifier* { /** <?php re
8888
/ query:QueryFilterModifier+ { /** <?php return array_merge([['q'=>'type', 'id'=> '*']], $query); ?> **/
8989
return [{q:'type', id:'*'}, ...query];}
9090

91-
QueryRelation = " "* rel:[><] " "+ sub:QueryRelationStage {
91+
QueryRelation = " "* rel:QueryRelationType " "+ sub:QueryRelationStage {
9292
/** <?php return \Seufert\Hamle\TextNode\RelQuery::for($rel, $sub); ?> **/
9393
return {query, sub, rel:rel === '>'?'child':'parent'}
9494
}
9595

96+
QueryRelationType = ">" / "<" / "&" "g" "t" ";" { /** <?php return '<'; ?> **/}
97+
/ "&" "l" "t" ";" { /** <?php return '>'; ?> **/}
98+
9699
QueryRelationStage = id: AlphaNum query: ChildQueryFilterModifier* { /** <?php return array_merge([['q'=>'type', 'id'=> $id]], $query); ?> **/
97100
return [{q:'type', id}, ...query];}
98101
/ "*" query: ChildQueryFilterModifier* { /** <?php return array_merge([['q'=>'type', 'id'=> '*']], $query); ?> **/
@@ -126,7 +129,7 @@ VarExprSub = name: Identifier ExprParamArrow param:VarExprSub {
126129
return {type:"sub", name};
127130
}
128131

129-
ExprParamArrow = "-" ">" / "-" "!"
132+
ExprParamArrow = "-" ">" / "-" "!" / "-" "&" "g" "t" ";"
130133

131134
filterexpr = "|" f:filter chain:filterexpr {
132135
/** <?php return $f->withChain($chain); ?> **/

0 commit comments

Comments
 (0)