Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2023-09-28 | Yield a parser error when defining a macro named 'super' | Dirkjan Ochtman | 1 | -0/+6 | |
2023-09-11 | Use char_indices() to get byte indices for characters | Dirkjan Ochtman | 1 | -0/+7 | |
2023-08-02 | parser: better error message for unknown nodes | René Kijewski | 1 | -1/+1 | |
2023-08-01 | parser: import `parser::{Expr, Node}` | René Kijewski | 1 | -3/+2 | |
2023-08-01 | parser: add type for `Node::Comment` | René Kijewski | 1 | -103/+52 | |
2023-08-01 | parser: remove re-exports `parser::{node,expr}::*` | René Kijewski | 1 | -2/+4 | |
2023-08-01 | parser: add type for `Node::Lit` | René Kijewski | 1 | -11/+5 | |
2023-07-31 | Fix parsing arrays | René Kijewski | 1 | -0/+83 | |
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. | |||||
2023-07-31 | Fix parsing calls | René Kijewski | 1 | -1/+26 | |
This change: * adds a cut when the leading `(` was encountered, and * fixed the interaction between call expressions and boolean OR. | |||||
2023-07-31 | parser: add top-level Ast type | Dirkjan Ochtman | 1 | -82/+108 | |
2023-07-31 | Extract askama_parser crate | Dirkjan Ochtman | 1 | -0/+0 | |
2023-07-31 | derive: define separate ParseError type | Dirkjan Ochtman | 1 | -2/+2 | |
2023-07-31 | derive: move Syntax into parser module | Dirkjan Ochtman | 1 | -2/+1 | |
2023-07-24 | Fix Rust macro invocations not accepting a path (#837) | Matthew Taylor | 1 | -0/+45 | |
2023-02-21 | Revert "derive: Make Config `'static`" | René Kijewski | 1 | -2/+2 | |
2023-01-30 | derive: refactor parser | René Kijewski | 1 | -0/+668 | |
`parser.rs` was a single file containing almost 2000 lines. This PR split the file into multiple, smaller files. `Expr`, `Node`, and `Target` each get an own file. Each struct gets a `parse()` method that return `Result<Self>`, and every other detail is private to the file. This PR should make this essential part of Askama more easy to understand, and make future modifications easier. |