aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* exchange hyper features From<Template> for hyper::Body with TryFromLibravatar Rudi Floren2023-03-031-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 typosLibravatar René Kijewski2023-02-242-13/+13
|
* Revert "derive: Make Config `'static`"Libravatar René Kijewski2023-02-216-69/+74
|
* Replace `toml_edit` with `basic-toml`Libravatar René Kijewski2023-02-211-1/+1
|
* Add impl From<{Template}> for hyper::Body deriveLibravatar Rudi Floren2023-02-131-1/+23
| | | | | with-hyper now derives an impl allowing Templates to be passed to functions with trait bounds for Into<hyper::Body>.
* derive: refactor parserLibravatar René Kijewski2023-01-305-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 elseLibravatar René Kijewski2023-01-303-5/+5
|
* Use `toml_edit` instead of `toml`Libravatar René Kijewski2023-01-301-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`Libravatar René Kijewski2023-01-304-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)Libravatar Dirkjan Ochtman2023-01-304-42/+41
|
* Fail to parse if keyword is not longest identLibravatar René Kijewski2022-11-091-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.
* chore: remove allow(clippy::disallowed_names)Libravatar Dirkjan Ochtman2022-11-071-1/+0
|
* chore: apply clippy suggestions for 1.65Libravatar Dirkjan Ochtman2022-11-071-1/+1
|
* Remove `_ext` from `askama_hyper`, tooLibravatar René Kijewski2022-09-261-2/+1
| | | | | That part was missing from #632, because #632 came before #706, and I forgot to update the older PR.
* Apply clippy suggestions from Rust 1.64 (#725)Libravatar Dirkjan Ochtman2022-09-231-1/+1
|
* Remove ext argument in integrationsLibravatar René Kijewski2022-09-191-16/+7
|
* Add Expr::is_cachable()Libravatar René Kijewski2022-09-192-4/+35
|
* Skip caching calls (Resolves #667)Libravatar vallentin2022-09-191-3/+7
|
* Remove support for deprecated `_parent` fieldLibravatar René Kijewski2022-07-252-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.
* Implement basic hyper integrationLibravatar René Kijewski2022-07-251-0/+27
| | | | | | | 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`.
* Feature-gate test_whitespace_parsing()Libravatar René Kijewski2022-06-201-0/+1
|
* Update to Rocket 0.5Libravatar René Kijewski2022-06-161-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.
* Replace `&Option<Box<T>>` with `Option<&T>` (#696)Libravatar René Kijewski2022-06-152-5/+7
| | | No need to work on references to references.
* Remove BuildHasher from Heritage, tooLibravatar René Kijewski2022-06-151-2/+2
|
* Remove hash builder parameter from generatorLibravatar René Kijewski2022-06-151-6/+7
| | | | | The generator cannot be accessed outside of crate, so it's not possible to override the default hasher.
* Replace .filter_map().next() with .filter_map()Libravatar René Kijewski2022-06-151-3/+2
|
* Copy can be derivedLibravatar René Kijewski2022-06-151-6/+2
|
* Move code generation into askama_deriveLibravatar René Kijewski2022-05-246-1/+5034
|
* Reduce askama_derive to a single re-exportLibravatar René Kijewski2022-03-231-99/+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.
* Move handling of integrations into askama_sharedLibravatar René Kijewski2022-03-231-14/+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.
* Fix clippy warningLibravatar René Kijewski2022-03-231-1/+1
|
* Enable tracking of the offending span of an errorLibravatar René Kijewski2022-02-071-4/+1
|
* Replace custom Cow with actual CowLibravatar René Kijewski2022-02-031-2/+3
|
* Replace `&PathBuf` with `&Path`Libravatar René Kijewski2022-01-241-3/+3
| | | | | PathBuf is to String like Path is to str, so `&PathBuf` is a pointer to a pointer. Clippy does not likes that.
* `&Option<T>` → `Option<&T>`Libravatar René Kijewski2022-01-121-1/+1
|
* Remove the iron integration from generatorLibravatar René Kijewski2022-01-061-1/+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.
* Add `#![forbid(unsafe_code)]` to all crates except askama_escapeLibravatar René Kijewski2022-01-061-0/+1
|
* Add `#![deny(unreachable_pub)]` to all cratesLibravatar René Kijewski2022-01-061-0/+1
|
* Add Axum integrationLibravatar Michael Alyn Miller2021-11-271-0/+1
|
* Handle build hangs due to unintended template recursion. (#539)Libravatar Gaurav Tyagi2021-10-251-0/+12
|
* Stop eliding lifetimes in pathsLibravatar Dirkjan Ochtman2021-07-011-2/+2
|
* Fix needless borrowingLibravatar Dirkjan Ochtman2021-06-141-1/+1
|
* Use `syn::Error::to_compile_error` and add trybuild ui test (#374)Libravatar msrd02020-11-021-4/+5
|
* Improve error handling (see #368)Libravatar Dirkjan Ochtman2020-11-021-18/+30
|
* Add mendes integrationLibravatar Dirkjan Ochtman2020-07-281-0/+1
|
* alphabetize frameworksLibravatar Jacob Rothstein2020-07-141-1/+1
|
* askama tideLibravatar Jacob Rothstein2020-07-141-0/+1
|
* Move code generation into askama_sharedLibravatar Dirkjan Ochtman2020-01-292-1509/+12
|
* Move input module into askama_sharedLibravatar Dirkjan Ochtman2020-01-293-224/+2
|
* Move parser into askama_sharedLibravatar Dirkjan Ochtman2020-01-293-1103/+4
|