Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add MSRV checking in CI | 2023-09-29 | 1 | -7/+2 | |
| | | | | Bump MSRV to 1.65 for the use of let .. else. | ||||
* | parser: import `parser::{Expr, Node}` | 2023-08-01 | 2 | -4/+4 | |
| | |||||
* | parser: `node::Loop` is much bigger than the other variants | 2023-08-01 | 1 | -8/+4 | |
| | |||||
* | parser: add type for `Node::Comment` | 2023-08-01 | 1 | -5/+5 | |
| | |||||
* | parser: remove re-exports `parser::{node,expr}::*` | 2023-08-01 | 3 | -5/+10 | |
| | |||||
* | parser: add type for `Node::Extends` | 2023-08-01 | 2 | -3/+3 | |
| | |||||
* | parser: add type for `Node::Include` | 2023-08-01 | 1 | -8/+7 | |
| | |||||
* | parser: rename `Node::Cond` into `If` and add type | 2023-08-01 | 2 | -10/+9 | |
| | |||||
* | parser: add type for `Node::Let` | 2023-08-01 | 1 | -31/+19 | |
| | |||||
* | parser: add type for `Node::Raw` | 2023-08-01 | 1 | -4/+4 | |
| | |||||
* | parser: add type for `Node::Lit` | 2023-08-01 | 1 | -6/+7 | |
| | |||||
* | parser: add type for `Node::BlockDef` | 2023-08-01 | 2 | -34/+13 | |
| | |||||
* | parser: add type for `Node::Match` | 2023-08-01 | 2 | -9/+13 | |
| | |||||
* | parser: add type for `Node::Call` | 2023-08-01 | 1 | -7/+10 | |
| | |||||
* | parser: add type for `Node::Import` | 2023-08-01 | 2 | -8/+8 | |
| | |||||
* | parser: let `Macro` know its name | 2023-08-01 | 2 | -4/+4 | |
| | |||||
* | parser: rename block to nodes | 2023-07-31 | 2 | -6/+8 | |
| | |||||
* | parser: define a struct for Match | 2023-07-31 | 2 | -6/+5 | |
| | |||||
* | parser: define a struct for Cond | 2023-07-31 | 2 | -6/+6 | |
| | |||||
* | Extract askama_parser crate | 2023-07-31 | 9 | -2058/+6 | |
| | |||||
* | derive: move whitespace conversion into config module | 2023-07-31 | 2 | -12/+11 | |
| | |||||
* | derive: move Parsed into parser module | 2023-07-31 | 2 | -36/+35 | |
| | |||||
* | derive: move generator-specific methods out of Expr | 2023-07-31 | 2 | -73/+71 | |
| | |||||
* | derive: define separate ParseError type | 2023-07-31 | 4 | -9/+32 | |
| | |||||
* | derive: move Syntax into parser module | 2023-07-31 | 5 | -40/+38 | |
| | |||||
* | Fix Rust macro invocations not accepting a path (#837) | 2023-07-24 | 3 | -17/+72 | |
| | |||||
* | Cache include AST to reduce parsing overhead | 2023-06-28 | 1 | -23/+16 | |
| | |||||
* | Inline child() method to avoid borrowing all fields | 2023-06-28 | 1 | -27/+23 | |
| | |||||
* | Avoid reparsing included templates if possible | 2023-06-28 | 1 | -4/+23 | |
| | |||||
* | Parse templates once | 2023-06-28 | 3 | -18/+45 | |
| | |||||
* | Allow macros to be defined and called without arguments | 2023-06-12 | 1 | -2/+5 | |
| | | | | | | | | | | This commit introduces a shorthand for defining and calling macros when using them as a reusable substitute for variables assigned complex values (e.g. string literals with or without newline escapes). The use-case is formatting - from my experience it's easier to visually parse a `macro` `endmacro` block than a multiline variable assignment. Signed-off-by: mataha <mataha@users.noreply.github.com> | ||||
* | Allow delimiters with arbitrary length | 2023-05-31 | 1 | -16/+94 | |
| | |||||
* | Update to rocket 0.5-rc.3 | 2023-05-19 | 1 | -6/+15 | |
| | |||||
* | Extract literal from group expressions in attributes | 2023-03-21 | 1 | -0/+6 | |
| | |||||
* | Upgrade to syn 2 | 2023-03-20 | 1 | -27/+26 | |
| | |||||
* | Add tests for whitespace argument in template derive proc-macro | 2023-03-13 | 1 | -0/+30 | |
| | |||||
* | Add whitespace argument in template derive proc-macro | 2023-03-13 | 2 | -17/+39 | |
| | |||||
* | Fix handling of trailing whitespace characters | 2023-03-09 | 2 | -4/+19 | |
| | |||||
* | Propogate size_hint from sub-blocks (#788) | 2023-03-06 | 1 | -4/+4 | |
| | | | Closes #786 | ||||
* | exchange hyper features From<Template> for hyper::Body with TryFrom | 2023-03-03 | 1 | -7/+5 | |
| | | | | | | | | | The previous implementation hid the error returned by render, which made it impossible for callers to react to rendering errors. While having a simple way to call into would be nice, there is not way to have both implementations without adding any manual specialization. Thus, the From impl is replaced by the TryFrom impl. | ||||
* | Fix typos | 2023-02-24 | 2 | -13/+13 | |
| | |||||
* | Revert "derive: Make Config `'static`" | 2023-02-21 | 6 | -69/+74 | |
| | |||||
* | Replace `toml_edit` with `basic-toml` | 2023-02-21 | 1 | -1/+1 | |
| | |||||
* | Add impl From<{Template}> for hyper::Body derive | 2023-02-13 | 1 | -1/+23 | |
| | | | | | with-hyper now derives an impl allowing Templates to be passed to functions with trait bounds for Into<hyper::Body>. | ||||
* | derive: refactor parser | 2023-01-30 | 5 | -1940/+1999 | |
| | | | | | | | | | | | `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. | ||||
* | Extends expects a string and nothing else | 2023-01-30 | 3 | -5/+5 | |
| | |||||
* | Use `toml_edit` instead of `toml` | 2023-01-30 | 1 | -1/+2 | |
| | | | | | Since version 0.6, `toml` is a wrapper around `toml_edit`, and the more basic library already meets our needs. | ||||
* | derive: Make Config `'static` | 2023-01-30 | 4 | -71/+67 | |
| | | | | | | | The configuration is made `'static`, because `toml` and `toml_edit` both needs to implement serde's `DeserializeOwned` by now. We allocate the strings once per template, so it is very unlikely that this change will have any measurable impact, neither in compile time nor RAM usage. | ||||
* | Apply clippy suggestions for 1.67 (#769) | 2023-01-30 | 4 | -42/+41 | |
| | |||||
* | Fail to parse if keyword is not longest ident | 2022-11-09 | 1 | -31/+56 | |
| | | | | | | | | | | | This PR makes e.g. `{% leta = b %}` a parsing error. To the reader it would appear that `leta` should be a meaningful expression in Askama, which it is not. Before this PR, `leta` was tokenized as `let` + `a`. This PR makes the parser try to find the longest identifier at a parsing positions and only compare the outcome against the expected keyword. This is potentially a breaking change, because code that should always have been invalid will now fail to compile, when it was accepted before. |