aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-02-21Revert "derive: Make Config `'static`"Libravatar René Kijewski6-69/+74
2023-02-21Replace `toml_edit` with `basic-toml`Libravatar René Kijewski2-3/+3
2023-02-13Add impl From<{Template}> for hyper::Body deriveLibravatar Rudi Floren1-1/+23
with-hyper now derives an impl allowing Templates to be passed to functions with trait bounds for Into<hyper::Body>.
2023-01-30derive: refactor parserLibravatar René Kijewski5-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.
2023-01-30Extends expects a string and nothing elseLibravatar René Kijewski3-5/+5
2023-01-30Use `toml_edit` instead of `toml`Libravatar René Kijewski2-3/+4
Since version 0.6, `toml` is a wrapper around `toml_edit`, and the more basic library already meets our needs.
2023-01-30derive: Make Config `'static`Libravatar René Kijewski4-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.
2023-01-30Apply clippy suggestions for 1.67 (#769)Libravatar Dirkjan Ochtman5-43/+43
2022-11-09Fail to parse if keyword is not longest identLibravatar René Kijewski1-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.
2022-11-07chore: remove allow(clippy::disallowed_names)Libravatar Dirkjan Ochtman1-1/+0
2022-11-07chore: apply clippy suggestions for 1.65Libravatar Dirkjan Ochtman1-1/+1
2022-09-26Remove `_ext` from `askama_hyper`, tooLibravatar René Kijewski1-2/+1
That part was missing from #632, because #632 came before #706, and I forgot to update the older PR.
2022-09-23Apply clippy suggestions from Rust 1.64 (#725)Libravatar Dirkjan Ochtman1-1/+1
2022-09-19Remove ext argument in integrationsLibravatar René Kijewski1-16/+7
2022-09-19Add Expr::is_cachable()Libravatar René Kijewski2-4/+35
2022-09-19Skip caching calls (Resolves #667)Libravatar vallentin1-3/+7
2022-07-25Remove support for deprecated `_parent` fieldLibravatar René Kijewski2-48/+1
The support for the magic `_parent` field is deprecated since v0.8.0 or issue #180. It's bothersome to keep this feature alive, when no-one should be using it for 3 years.
2022-07-25Implement basic hyper integrationLibravatar René Kijewski2-0/+28
The integration is based on askama_gotham. There is no specific trait to convert an arbitrary T to `hyper::Response`, so I used `From<Template> for hyper::Response`.
2022-06-20Feature-gate test_whitespace_parsing()Libravatar René Kijewski1-0/+1
2022-06-16Update to Rocket 0.5Libravatar René Kijewski1-1/+1
Though Rocket 0.5 still only a release candidate, Rocket 0.4 severely outdated, and depends on a bunch of crates with active security advisories. Rocket 0.5 updates its dependencies to fixes versions. Also Rocket 0.4 needs a nightly Rust, which caused multiple problems.
2022-06-15Replace `&Option<Box<T>>` with `Option<&T>` (#696)Libravatar René Kijewski2-5/+7
No need to work on references to references.
2022-06-15Remove BuildHasher from Heritage, tooLibravatar René Kijewski1-2/+2
2022-06-15Remove hash builder parameter from generatorLibravatar René Kijewski1-6/+7
The generator cannot be accessed outside of crate, so it's not possible to override the default hasher.
2022-06-15Replace .filter_map().next() with .filter_map()Libravatar René Kijewski1-3/+2
2022-06-15Copy can be derivedLibravatar René Kijewski1-6/+2
2022-05-24Move code generation into askama_deriveLibravatar René Kijewski12-16/+5061
2022-04-06Moved Features into derive (#662)Libravatar Andrew Wheeler(Genusis)1-0/+16
* Moved Features into derive, Updated Askama versions to 0.11 * Lock minimal versions to 0.11.2
2022-03-23Update version numbersLibravatar René Kijewski1-2/+2
2022-03-23Reduce askama_derive to a single re-exportLibravatar René Kijewski2-101/+1
All the hard work in askama_derive was actually done in askama_shared. This PR removes the back-and-forth interaction between the two crates. Now askama_derive is a single re-export of `#[derive(Template)]` which has to be done in a proc_macro crate. This most likely means that askama_derive is "final", unless another derive template needs to be introduced in the future.
2022-03-23Move handling of integrations into askama_sharedLibravatar René Kijewski2-27/+2
Before this PR the handling of integrations was done both by askama_shared and askama_derive. This diff lets askama_shared do the work. This will prevent problems like #629, when both packages might come out of sync.
2022-03-23Fix clippy warningLibravatar René Kijewski1-1/+1
2022-02-16Bump version for askama_deriveLibravatar Dirkjan Ochtman1-2/+2
2022-02-07Enable tracking of the offending span of an errorLibravatar René Kijewski1-4/+1
2022-02-03Replace custom Cow with actual CowLibravatar René Kijewski1-2/+3
2022-01-24Replace `&PathBuf` with `&Path`Libravatar René Kijewski1-3/+3
PathBuf is to String like Path is to str, so `&PathBuf` is a pointer to a pointer. Clippy does not likes that.
2022-01-15Fix json/yaml featuresLibravatar Jannik Obermann1-0/+2
2022-01-12`&Option<T>` → `Option<&T>`Libravatar René Kijewski1-1/+1
2022-01-06Remove the iron integration from generatorLibravatar René Kijewski2-2/+0
Issue #527 removed the askama_iron package, but not the integration if someone uses askama_derive's feature with "iron". The old askama_iron crate uses askama v0.10, so it will still work.
2022-01-06Add `#![forbid(unsafe_code)]` to all crates except askama_escapeLibravatar René Kijewski1-0/+1
2022-01-06Add `#![deny(unreachable_pub)]` to all cratesLibravatar René Kijewski1-0/+1
2021-11-27Add Axum integrationLibravatar Michael Alyn Miller2-0/+2
2021-11-24Bump version numbersLibravatar Dirkjan Ochtman1-2/+2
2021-11-24Remove authors from Cargo metadata (see RFC 3052)Libravatar Dirkjan Ochtman1-1/+0
2021-10-25Handle build hangs due to unintended template recursion. (#539)Libravatar Gaurav Tyagi1-0/+12
2021-08-21Bump version numbers in anticipation of beta releaseLibravatar Dirkjan Ochtman1-2/+2
2021-08-07Enable config support in askama_shared build dependencyLibravatar Jonas Platte1-0/+2
Fixes using askama with the new Cargo feature resolver and a configuration file.
2021-07-01Stop eliding lifetimes in pathsLibravatar Dirkjan Ochtman1-2/+2
2021-06-14Fix needless borrowingLibravatar Dirkjan Ochtman1-1/+1
2020-11-17Bump versions to fix semver problemLibravatar Dirkjan Ochtman1-2/+2
2020-11-17Bump version numbers for askama and askama_deriveLibravatar Dirkjan Ochtman1-2/+2