Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Parse tuple expressions | René Kijewski | 2022-01-28 | 1 | -0/+18 |
| | | | | | | | Askama understands how to destructure tuples in let and match statements, but it does not understand how to build a tuple. This PR fixes this shortcoming. | ||||
* | Implement error propagation expression: `?` (#590) | René Kijewski | 2022-01-28 | 1 | -0/+12 |
| | | | | | | This change allows using the operator `?` in askama expressions. It works like the same operator in Rust: if a `Result` is `Ok`, it is unwrapped. If it is an error, then the `render()` method fails with this error value. | ||||
* | Unify handling of calls (#614) | René Kijewski | 2022-01-27 | 1 | -79/+31 |
| | | | | | Instead of having `Expr::VarCall`, `Expr::PathCall` and `Expr::MethodCall`, this PR unifies the handling of calls by removing the former three variants, and introducing `Expr::Call`. | ||||
* | Replace `&PathBuf` with `&Path` | René Kijewski | 2022-01-24 | 1 | -7/+7 |
| | | | | | 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>` | René Kijewski | 2022-01-12 | 1 | -3/+3 |
| | |||||
* | Fully qualify some more paths in generated code | René Kijewski | 2022-01-12 | 1 | -3/+3 |
| | |||||
* | Determine Content-Type during compilation | René Kijewski | 2022-01-07 | 1 | -0/+4 |
| | |||||
* | Add `#[inline]` to trivial trait implementations | René Kijewski | 2022-01-06 | 1 | -0/+9 |
| | |||||
* | Remove the iron integration from generator | René Kijewski | 2022-01-06 | 1 | -26/+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. | ||||
* | Omit implicit lifetimes | René Kijewski | 2022-01-06 | 1 | -1/+1 |
| | |||||
* | Update for actix-web beta | René Kijewski | 2022-01-05 | 1 | -7/+3 |
| | |||||
* | askama_rocket: revert to rocket 0.4 for release | Dirkjan Ochtman | 2022-01-04 | 1 | -2/+4 |
| | |||||
* | askama_actix: revert to actix-web v3 for release | Dirkjan Ochtman | 2022-01-04 | 1 | -3/+4 |
| | |||||
* | Use a separate trait for object safety (#579) | Dirkjan Ochtman | 2021-12-15 | 1 | -17/+5 |
| | | | | | | | | | | | | | | | | | | This is relatively major change to the main trait's API. For context, I always started from the concept of monomorphized traits, but later several contributors asked about object safety. At that point I made `Template` object-safe, and then even later added a `SizedTemplate` to make some things easier for people who don't need object safety. However, having object-safety in the primary trait is bad for performance (a substantial number of calls into the virtual `Write` trait is relatively slow), and I don't think those who don't need object safety should pay for the cost of having it. Additionally, I feel using associated consts for the extension and size hint is more idiomatic than having accessor methods. I don't know why I didn't use these from the start -- maybe associated consts didn't exist yet, or I didn't yet know how/when to use them. Askama is pretty old at this point... | ||||
* | updated for actix-web 4.0.0-beta.14 | CrunkLord420 | 2021-12-14 | 1 | -1/+2 |
| | |||||
* | Use char for patterns where possible | Dirkjan Ochtman | 2021-12-08 | 1 | -1/+1 |
| | |||||
* | Update axum to 0.4 (by switching to axum-core) | Michael Alyn Miller | 2021-12-05 | 1 | -5/+3 |
| | |||||
* | Move askama_mendes integration into Askama repo (#561) | Dirkjan Ochtman | 2021-12-01 | 1 | -2/+2 |
| | |||||
* | Allow whitespace trimming in {{raw}} blocks | René Kijewski | 2021-11-29 | 1 | -2/+2 |
| | |||||
* | Add Axum integration | Michael Alyn Miller | 2021-11-27 | 1 | -0/+18 |
| | |||||
* | Added support for optional escaper for escape filter (resolves #556) | vallentin | 2021-11-19 | 1 | -2/+36 |
| | |||||
* | Implement `for … in … if …` | René Kijewski | 2021-11-11 | 1 | -29/+27 |
| | |||||
* | Implement for-else | René Kijewski | 2021-11-11 | 1 | -17/+26 |
| | | | | | | | | | | | | | This PR implements for-else statements like in Jinja. They make it easy to print an alternative message if the loop iterator was empty. E.g. ```rs {% for result in result %} <li>{{ result }}</li> {% else %} <li><em>no results</em></li> {% endfor %} ``` | ||||
* | Prepare for actix-web v4 (#553) | Sergey Pashinin | 2021-11-11 | 1 | -4/+2 |
| | |||||
* | Implement {{loop.cycle(…)}} similar to Jinja | René Kijewski | 2021-11-11 | 1 | -7/+30 |
| | |||||
* | Fix support for raw method identifiers | Kelly Thomas Kline | 2021-10-13 | 1 | -1/+1 |
| | |||||
* | Add {% break %} and {% continue %} | René Kijewski | 2021-08-30 | 1 | -0/+10 |
| | | | | | This PR adds `{% break %}` and `{% continue %}` statements to break out of a loop, or continue with the next element of the iterator. | ||||
* | Parse boolean literals in assignment targets | René Kijewski | 2021-08-25 | 1 | -0/+6 |
| | | | | | | | | 268d825 introduced a regression that made matching against boolean literals impossible. E.g. "true" was interpreted as the variable "r#true". This PR fixes the problem. The bug was reported by @Restioson in issue #531. | ||||
* | Use "target()" to parse "when" block | René Kijewski | 2021-07-30 | 1 | -102/+42 |
| | | | | | | | | | | | | `target()` as used in parsing "let" and "if let" implements parsing nested tuples and structs. But it does not implement parsing literals. The functions `match_variant()` and `with_parameters()` as used in parsing "when" blocks do not implement parsing nested structs, but it implements parsing literals. This PR combines `match_variant()` and `with_parameters()` into `target()`, so that all `{%when%}` support nested structs, too. | ||||
* | Implement destructoring of structs | René Kijewski | 2021-07-05 | 1 | -2/+17 |
| | | | | | This PR implements the destructoring of structs on the lhs of "let" and "for" statements. | ||||
* | Parse nested tuples in "let" statement lhs | René Kijewski | 2021-07-05 | 1 | -3/+3 |
| | |||||
* | Reduce code duplication for writing targets | René Kijewski | 2021-07-05 | 1 | -22/+9 |
| | | | | | This change also fixes a bug in the loop generator, which failed for shadowed variables. | ||||
* | Move logic where target shadows or declares a variable into method | René Kijewski | 2021-07-05 | 1 | -23/+33 |
| | |||||
* | Remove needless deref, only to ref it a few lines down | René Kijewski | 2021-07-05 | 1 | -4/+4 |
| | |||||
* | Remove duplicated code in generator | René Kijewski | 2021-07-05 | 1 | -17/+1 |
| | |||||
* | Prepare generator::visit_target() for nested targets | René Kijewski | 2021-07-05 | 1 | -4/+2 |
| | | | | | | | | By now only non-nested tuples are accepted by the parser, but this will change. This change makes visit_target() call itself for items in a tuple. So enable the function to call itself, I needed to fix the lifetime annotation, because the references inside a Target instance may outlife a reference to instance itself. | ||||
* | Stop eliding lifetimes in paths | Dirkjan Ochtman | 2021-07-01 | 1 | -49/+69 |
| | |||||
* | Implement "if let" statement | René Kijewski | 2021-07-01 | 1 | -12/+27 |
| | |||||
* | Use "if let Some(_)" instead of match | René Kijewski | 2021-07-01 | 1 | -21/+18 |
| | |||||
* | Move visit_match_params into its own method | René Kijewski | 2021-07-01 | 1 | -38/+42 |
| | |||||
* | Fixed loop generator when accessing field (fixes 494) | vallentin | 2021-06-23 | 1 | -0/+6 |
| | |||||
* | Fix code generation for macro calls that store args in variables. | Ryan Kelly | 2021-06-22 | 1 | -1/+4 |
| | |||||
* | Support rocket 0.5.0-rc.1 based on @flo-l's PR (#495) | Shritesh Bhattarai | 2021-06-15 | 1 | -4/+2 |
| | | | See #412 for earlier iteration. | ||||
* | Fix needless borrowing | Dirkjan Ochtman | 2021-06-14 | 1 | -5/+5 |
| | |||||
* | Fixed not found in scope error | vallentin | 2021-04-29 | 1 | -1/+1 |
| | |||||
* | Use raw identifiers for identifiers which collide with Rust keywords (#476) | SciStarterOwner | 2021-04-21 | 1 | -4/+84 |
| | | | Co-authored-by: Daniel Arbuckle <djarb@highenergymagic.org> | ||||
* | Eliminate common tails from branches | Dirkjan Ochtman | 2021-04-13 | 1 | -4/+2 |
| | |||||
* | askama_tide: suppress clippy::from-over-into lint | Dirkjan Ochtman | 2021-03-30 | 1 | -0/+2 |
| | |||||
* | Use mem::take() where applicable | Dirkjan Ochtman | 2021-03-30 | 1 | -2/+2 |
| | |||||
* | Refactored getting path extension | vallentin | 2021-03-10 | 1 | -35/+8 |
| |