aboutsummaryrefslogtreecommitdiffstats
path: root/askama_parser (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add better support for rust-like number literals (#908)Libravatar PizzasBear2023-11-221-5/+65
| | | Signed-off-by: max <gmx.sht@gmail.com>
* Enhance match to include multiple targets (#911)Libravatar PizzasBear2023-11-221-0/+13
| | | Signed-off-by: max <gmx.sht@gmail.com>
* Derive Clone for Expr and TargetLibravatar Andrew Dona-Couch2023-11-132-2/+2
|
* Create a type alias for all `IResult` to simplify code readingLibravatar Guillaume Gomez2023-10-253-108/+90
|
* Improve error for `elif` keywordLibravatar Guillaume Gomez2023-10-251-1/+9
|
* Improve error for invalid name used in `endmacro`Libravatar Guillaume Gomez2023-10-251-1/+7
|
* Improve error for invalid name used in `endblock`Libravatar Guillaume Gomez2023-10-252-2/+30
|
* Create `ErrorContext` typeLibravatar Guillaume Gomez2023-10-253-95/+183
|
* Advertise Discord channel instead of GitterLibravatar Dirkjan Ochtman2023-10-031-1/+1
|
* parser: version bump to 0.1.1Libravatar Dirkjan Ochtman2023-09-291-1/+1
|
* parser: add rudimentary READMELibravatar Dirkjan Ochtman2023-09-291-0/+9
|
* Add MSRV checking in CILibravatar Dirkjan Ochtman2023-09-291-1/+1
| | | | Bump MSRV to 1.65 for the use of let .. else.
* Pass `Node` parsing level to expressionsLibravatar René Kijewski2023-09-282-16/+16
|
* Limit nesting in parser nodes, tooLibravatar René Kijewski2023-09-282-4/+23
|
* Require Expr::parse() callers to supply LevelLibravatar Dirkjan Ochtman2023-09-282-16/+18
|
* Move Level into the crate rootLibravatar Dirkjan Ochtman2023-09-283-18/+17
|
* Yield a parser error when defining a macro named 'super'Libravatar Dirkjan Ochtman2023-09-282-4/+11
|
* Limit expression nesting level to avoid stack overflowsLibravatar Dirkjan Ochtman2023-09-282-34/+83
|
* fuzz: remove input limitLibravatar manunio2023-09-181-4/+2
| | | | | While working on https://github.com/djc/askama/pull/862 fuzz_parser was crashing and failing oss-fuzz build_checks. so a limit of 500 was placed, this pr removes that.
* fuzz: Add fuzz for askama_parserLibravatar manunio2023-09-134-0/+58
|
* Use char_indices() to get byte indices for charactersLibravatar Dirkjan Ochtman2023-09-112-1/+8
|
* Rename some variablesLibravatar Dirkjan Ochtman2023-09-111-7/+7
|
* Optimize parsing boolean literals, tooLibravatar René Kijewski2023-08-031-9/+5
|
* Parse paths and identifiers only onceLibravatar René Kijewski2023-08-033-37/+53
| | | | | | | | | | | | | | In the old implementation each variable in an expression would be parsed up to three times: * Try to parse a path because it contains a leading double colon, or infix double colons. * Try to parse it as path again by scanning for an identifier that contains an upper case character. * Fall back to scanning for any identifier. This PR turns all three steps into one, without the need for backtracking.
* parser: fix white space issues in macro parsingLibravatar René Kijewski2023-08-021-2/+2
|
* parser: allow negative numbers in patternsLibravatar René Kijewski2023-08-021-1/+5
|
* parser: don't truncates whitespaces after arraysLibravatar René Kijewski2023-08-021-1/+1
|
* parser: better error message for unknown nodesLibravatar René Kijewski2023-08-022-9/+8
|
* parser: import `parser::{Expr, Node}`Libravatar René Kijewski2023-08-012-5/+4
|
* parser: `node::Loop` is much bigger than the other variantsLibravatar René Kijewski2023-08-011-2/+2
|
* parser: move test for completenessLibravatar René Kijewski2023-08-011-6/+6
|
* parser: add type for `Node::Comment`Libravatar René Kijewski2023-08-012-146/+109
|
* parser: add `expr::Loop::parse()`Libravatar René Kijewski2023-08-011-68/+70
|
* parser: remove re-exports `parser::{node,expr}::*`Libravatar René Kijewski2023-08-013-13/+12
|
* parser: add type for `Node::Extends`Libravatar René Kijewski2023-08-012-9/+16
|
* parser: add type for `Node::Include`Libravatar René Kijewski2023-08-012-14/+28
|
* parser: rename `Node::Cond` into `If` and add typeLibravatar René Kijewski2023-08-012-35/+49
|
* parser: add type for `Node::Let`Libravatar René Kijewski2023-08-012-26/+34
|
* parser: add type for `Node::Raw`Libravatar René Kijewski2023-08-012-29/+38
|
* parser: add type for `Node::Lit`Libravatar René Kijewski2023-08-013-49/+54
|
* parser: add type for `Node::BlockDef`Libravatar René Kijewski2023-08-012-30/+45
|
* parser: add type for `Node::Match`Libravatar René Kijewski2023-08-012-36/+54
|
* parser: add type for `Node::Call`Libravatar René Kijewski2023-08-012-20/+40
|
* parser: add type for `Node::Import`Libravatar René Kijewski2023-08-012-17/+33
|
* parser: let `Macro` know its nameLibravatar René Kijewski2023-08-011-52/+53
|
* 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