aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-302-3/+4
| | | | | 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-305-43/+43
|
* 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-252-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`.
* 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-2412-16/+5061
|
* Moved Features into derive (#662)Libravatar Andrew Wheeler(Genusis)2022-04-061-0/+16
| | | | | * Moved Features into derive, Updated Askama versions to 0.11 * Lock minimal versions to 0.11.2
* Update version numbersLibravatar René Kijewski2022-03-231-2/+2
|
* Reduce askama_derive to a single re-exportLibravatar René Kijewski2022-03-232-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.
* Move handling of integrations into askama_sharedLibravatar René Kijewski2022-03-232-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.
* Fix clippy warningLibravatar René Kijewski2022-03-231-1/+1
|
* Bump version for askama_deriveLibravatar Dirkjan Ochtman2022-02-161-2/+2
|
* 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.
* Fix json/yaml featuresLibravatar Jannik Obermann2022-01-151-0/+2
|
* `&Option<T>` → `Option<&T>`Libravatar René Kijewski2022-01-121-1/+1
|
* Remove the iron integration from generatorLibravatar René Kijewski2022-01-062-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.
* 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
|
* Merge pull request #562 from djc/prepare-0.12Libravatar René Kijewski2021-11-301-3/+2
|\ | | | | Prepare 0.12
| * Bump version numbersLibravatar Dirkjan Ochtman2021-11-241-2/+2
| |
| * Remove authors from Cargo metadata (see RFC 3052)Libravatar Dirkjan Ochtman2021-11-241-1/+0
| |
* | Add Axum integrationLibravatar Michael Alyn Miller2021-11-272-0/+2
|/
* Handle build hangs due to unintended template recursion. (#539)Libravatar Gaurav Tyagi2021-10-251-0/+12
|
* Bump version numbers in anticipation of beta releaseLibravatar Dirkjan Ochtman2021-08-211-2/+2
|
* Enable config support in askama_shared build dependencyLibravatar Jonas Platte2021-08-071-0/+2
| | | | Fixes using askama with the new Cargo feature resolver and a configuration file.
* Stop eliding lifetimes in pathsLibravatar Dirkjan Ochtman2021-07-011-2/+2
|
* Fix needless borrowingLibravatar Dirkjan Ochtman2021-06-141-1/+1
|
* Bump versions to fix semver problemLibravatar Dirkjan Ochtman2020-11-171-2/+2
|
* Bump version numbers for askama and askama_deriveLibravatar Dirkjan Ochtman2020-11-171-2/+2
|
* Use `syn::Error::to_compile_error` and add trybuild ui test (#374)Libravatar msrd02020-11-022-5/+5
|
* Improve error handling (see #368)Libravatar Dirkjan Ochtman2020-11-021-18/+30
|