aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* parser: `node::Loop` is much bigger than the other variantsLibravatar René Kijewski2023-08-012-10/+6
|
* parser: move test for completenessLibravatar René Kijewski2023-08-011-6/+6
|
* parser: add type for `Node::Comment`Libravatar René Kijewski2023-08-013-151/+114
|
* parser: add `expr::Loop::parse()`Libravatar René Kijewski2023-08-011-68/+70
|
* parser: remove re-exports `parser::{node,expr}::*`Libravatar René Kijewski2023-08-016-18/+22
|
* parser: add type for `Node::Extends`Libravatar René Kijewski2023-08-014-12/+19
|
* parser: add type for `Node::Include`Libravatar René Kijewski2023-08-013-22/+35
|
* parser: rename `Node::Cond` into `If` and add typeLibravatar René Kijewski2023-08-014-45/+58
|
* parser: add type for `Node::Let`Libravatar René Kijewski2023-08-013-57/+53
|
* parser: add type for `Node::Raw`Libravatar René Kijewski2023-08-013-33/+42
|
* parser: add type for `Node::Lit`Libravatar René Kijewski2023-08-014-55/+61
|
* parser: add type for `Node::BlockDef`Libravatar René Kijewski2023-08-014-64/+58
|
* parser: add type for `Node::Match`Libravatar René Kijewski2023-08-014-45/+67
|
* parser: add type for `Node::Call`Libravatar René Kijewski2023-08-013-27/+50
|
* parser: add type for `Node::Import`Libravatar René Kijewski2023-08-014-25/+41
|
* parser: let `Macro` know its nameLibravatar René Kijewski2023-08-013-56/+57
|
* parser: add `Ast::nodes()` methodLibravatar René Kijewski2023-08-011-0/+4
|
* parser: impement `PartialEq` for `Ast`Libravatar René Kijewski2023-08-011-0/+7
|
* parser: implement `Debug` for `Parsed`Libravatar René Kijewski2023-08-011-1/+9
|
* parser: use `?`Libravatar René Kijewski2023-08-011-5/+1
|
* parser: ensure correct drop order for `Parsed`Libravatar René Kijewski2023-08-011-2/+3
| | | | | | | | | | | | | | | According to [RFC 1857] the fields of a struct are dropped in the same order as they are declared. For `struct S { a: A, b: B }` field `a` is dropped before field `b`. Our struct `Parsed` is self referencial. Its field `ast` depends on `source`, so `source` must outlife `ast`. This PR changes the order of the fields to reflect this requirement. In practice it should not matter, because we know that the variant of `Node` won't access the string data during their `Drop`, but better safe than sorry - maybe `Node` changes in the future. [RFC 1857]: https://rust-lang.github.io/rfcs/1857-stabilize-drop-order.html
* parser: remove panicking `From<&str> for Whitespace`Libravatar René Kijewski2023-08-011-12/+5
|
* Fix parsing arraysLibravatar René Kijewski2023-07-314-12/+93
| | | | | | | | | | | | | | | | This change * allows using empty arrays `[]` in expessions, * adds a cut when the leading `[` was encountered, and * fixes the interaction between arrays and boolean OR. IMO the restriction that you couldn't use empty arrays is not needed. The missing cut made error messages slictly worse if you forget to add the closing `]`. Filter expressions must not have white spaces before the pipe `|`. The white space is used to tell a filter expressions, and `std::ops::Or` apart.
* Fix parsing callsLibravatar René Kijewski2023-07-313-6/+33
| | | | | | | This change: * adds a cut when the leading `(` was encountered, and * fixed the interaction between call expressions and boolean OR.
* CI: make sure parser is testedLibravatar René Kijewski2023-07-311-3/+3
|
* parser: rename block to nodesLibravatar Dirkjan Ochtman2023-07-313-18/+21
|
* parser: reorder items in node moduleLibravatar Dirkjan Ochtman2023-07-311-50/+50
|
* parser: move Expr parser helpers into callersLibravatar Dirkjan Ochtman2023-07-311-53/+54
|
* parser: move single expr parsers into Expr implLibravatar Dirkjan Ochtman2023-07-311-63/+63
|
* parser: move binary operator parsers into Expr implLibravatar Dirkjan Ochtman2023-07-311-71/+71
|
* parser: flatten top-level Expr interfaceLibravatar Dirkjan Ochtman2023-07-312-36/+28
|
* parser: move suffix parsers into impl blockLibravatar Dirkjan Ochtman2023-07-311-53/+61
|
* parser: move cond parsers into type implsLibravatar Dirkjan Ochtman2023-07-311-39/+43
|
* parser: move parser helpers into callersLibravatar Dirkjan Ochtman2023-07-311-35/+35
|
* parser: move when parsers into impl blockLibravatar Dirkjan Ochtman2023-07-311-47/+50
|
* parser: define a struct for MatchLibravatar Dirkjan Ochtman2023-07-313-9/+27
|
* parser: define a struct for CondLibravatar Dirkjan Ochtman2023-07-313-9/+25
|
* parser: move node parsers into impl blockLibravatar Dirkjan Ochtman2023-07-312-410/+406
|
* parser: move Whitespace parser into methodLibravatar Dirkjan Ochtman2023-07-311-144/+142
|
* parser: move impl blocks closer to type definitionsLibravatar Dirkjan Ochtman2023-07-311-12/+12
|
* parser: simplify top-level parser matchLibravatar Dirkjan Ochtman2023-07-311-29/+24
|
* parser: add top-level Ast typeLibravatar Dirkjan Ochtman2023-07-312-115/+148
|
* parser: move nested_parenthesis() helper into node moduleLibravatar Dirkjan Ochtman2023-07-312-51/+49
|
* parser: move helper functions into State implLibravatar Dirkjan Ochtman2023-07-312-93/+92
|
* parser: move trait impl closer to type definitionLibravatar Dirkjan Ochtman2023-07-312-11/+11
|
* parser: move single-use functions into callerLibravatar Dirkjan Ochtman2023-07-311-13/+13
|
* Extract askama_parser crateLibravatar Dirkjan Ochtman2023-07-3112-46/+68
|
* derive: move whitespace conversion into config moduleLibravatar Dirkjan Ochtman2023-07-312-12/+11
|
* derive: move Parsed into parser moduleLibravatar Dirkjan Ochtman2023-07-312-36/+35
|
* derive: move generator-specific methods out of ExprLibravatar Dirkjan Ochtman2023-07-312-73/+71
|