Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2024-01-24 | Add poem integrationHEADmain | cel 🌸 | 1 | -0/+16 | |
2024-01-17 | Allow included templates to `extend`, `import`, and `macro` | max | 1 | -21/+29 | |
Signed-off-by: max <gmx.sht@gmail.com> | |||||
2024-01-12 | Generator: make `normalize_identifier` faster (#946) | René Kijewski | 1 | -54/+105 | |
`normalize_identifier` is called quite often in the generator, once for every variable name or path element that is written. This PR aims to speed up the function by * using a per-length input string length replacement map * binary searching the replacement map instead of a linear search Diffent, but functionally equivalent implementations were compared: ```text * linear search in one big map: 348.44 µs * binary search in one big map: 334.46 µs * linear search in a per-length map: 178.84 µs * binary search in a per-length map: 154.54 µs * perfect hashing: 170.87 µs ``` The winner of this competition is "binary search in a per-length map". It does not introduce new dependencies, but has the slight disadvantage that it uses one instance of `unsafe` code. I deem this disadvantage acceptable, though. Nb. It was also tested if a variant that only stores the replaced string would be faster. This "optimization" proved to be slower for all implementations except "binary search in a per-length map", for which it has the same runtime. Without a clear advantage to use the "optimized version", I chose to use the more easy to read slice of tuples variant. Obviously, for all measurements: YMMV. | |||||
2024-01-12 | Add `as_ref` builtin filter | Guillaume Gomez | 1 | -0/+17 | |
2024-01-10 | Revert "Add automatic borrowing to let statement" | Guillaume Gomez | 1 | -7/+0 | |
This reverts commit 3d52283b74573af509deb3c47cbabf7b7b58b1dd. | |||||
2024-01-09 | Make the `markdown` filter compatible with `String` | Jakub Stachurski | 1 | -1/+1 | |
This commit solves issue #719. This is done by making the markdown filter borrow the string and simplifying the filter to accept `&str` instead of `AsRef<str>` Add test for the markdown filter using as input Revert markdown filter changes Revert unnecessary changes Improve test_markdown_owned_string test Use cargo fmt | |||||
2023-12-13 | Add automatic borrowing to let statement | max | 1 | -0/+7 | |
Signed-off-by: max <gmx.sht@gmail.com> | |||||
2023-12-13 | Bugfix in `is_attr_self()` | max | 1 | -1/+1 | |
Signed-off-by: max <gmx.sht@gmail.com> | |||||
2023-11-28 | Allow to pass named arguments to macro calls | Guillaume Gomez | 1 | -1/+55 | |
2023-11-22 | Enhance match to include multiple targets (#911) | PizzasBear | 1 | -0/+10 | |
Signed-off-by: max <gmx.sht@gmail.com> | |||||
2023-11-20 | Improve macro call arguments loop | Guillaume Gomez | 1 | -4/+1 | |
2023-11-20 | Improve output error for non-matching number of arguments for macros | Guillaume Gomez | 1 | -1/+8 | |
2023-11-01 | Remove unused `_did_loop` condition if `else` block is empty | Guillaume Gomez | 1 | -9/+21 | |
2023-11-01 | Avoid passing around duplicate data | Dirkjan Ochtman | 1 | -13/+2 | |
2023-11-01 | Cleanup imports a bit | Dirkjan Ochtman | 1 | -4/+4 | |
2023-11-01 | Implement Default for MapChain | Dirkjan Ochtman | 1 | -7/+9 | |
2023-11-01 | Move build_template() up to the crate root | Dirkjan Ochtman | 1 | -61/+8 | |
2023-11-01 | Remove unnecessary type annotation | Dirkjan Ochtman | 1 | -1/+1 | |
2023-11-01 | Attach find_used_templates() to TemplateInput | Dirkjan Ochtman | 1 | -42/+1 | |
2023-11-01 | Move TemplateArgs into input module | Dirkjan Ochtman | 1 | -129/+2 | |
2023-11-01 | Inline nested derive_template() implementation | Dirkjan Ochtman | 1 | -11/+1 | |
2023-10-12 | Allow macros to take `self` as an argument | PizzasBear | 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 | -5/+5 | |
2023-08-01 | parser: remove re-exports `parser::{node,expr}::*` | René Kijewski | 1 | -3/+5 | |
2023-08-01 | parser: add type for `Node::Extends` | René Kijewski | 1 | -1/+1 | |
2023-08-01 | parser: add type for `Node::Include` | René Kijewski | 1 | -8/+7 | |
2023-08-01 | parser: rename `Node::Cond` into `If` and add type | René Kijewski | 1 | -8/+7 | |
2023-08-01 | parser: add type for `Node::Let` | René Kijewski | 1 | -31/+19 | |
2023-08-01 | parser: add type for `Node::Raw` | René Kijewski | 1 | -4/+4 | |
2023-08-01 | parser: add type for `Node::Lit` | René Kijewski | 1 | -6/+7 | |
2023-08-01 | parser: add type for `Node::BlockDef` | René Kijewski | 1 | -14/+6 | |
2023-08-01 | parser: add type for `Node::Match` | René Kijewski | 1 | -7/+11 | |
2023-08-01 | parser: add type for `Node::Call` | René Kijewski | 1 | -7/+10 | |
2023-08-01 | parser: add type for `Node::Import` | René Kijewski | 1 | -4/+4 | |
2023-08-01 | parser: let `Macro` know its name | René Kijewski | 1 | -1/+1 | |
2023-07-31 | parser: rename block to nodes | Dirkjan Ochtman | 1 | -3/+3 | |
2023-07-31 | parser: define a struct for Match | Dirkjan Ochtman | 1 | -4/+3 | |
2023-07-31 | parser: define a struct for Cond | Dirkjan Ochtman | 1 | -4/+4 | |
2023-07-31 | Extract askama_parser crate | Dirkjan Ochtman | 1 | -1/+1 | |
2023-07-31 | derive: move Parsed into parser module | Dirkjan Ochtman | 1 | -36/+1 | |
2023-07-31 | derive: move generator-specific methods out of Expr | Dirkjan Ochtman | 1 | -2/+71 | |
2023-07-31 | derive: define separate ParseError type | Dirkjan Ochtman | 1 | -1/+5 | |
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 | -3/+3 | |
2023-06-28 | Cache include AST to reduce parsing overhead | Dirkjan Ochtman | 1 | -23/+16 | |
2023-06-28 | Inline child() method to avoid borrowing all fields | Dirkjan Ochtman | 1 | -27/+23 | |
2023-06-28 | Avoid reparsing included templates if possible | Dirkjan Ochtman | 1 | -4/+23 | |
2023-06-28 | Parse templates once | Dirkjan Ochtman | 1 | -13/+44 | |
2023-05-19 | Update to rocket 0.5-rc.3 | Vypo Mouse | 1 | -6/+15 | |