Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Simplify take_content() implementation | René Kijewski | 2021-11-24 | 1 | -43/+37 |
| | |||||
* | Parse `&str` instead of `&[u8]` | René Kijewski | 2021-11-24 | 1 | -132/+120 |
| | | | | | Askama's takes valid UTF-8 files as input. So why operate on byte slices instead of strings? This makes writing some functions a lot simpler. | ||||
* | Simplify identifier() implementation | René Kijewski | 2021-11-24 | 1 | -17/+15 |
| | |||||
* | Simplify ws() and split_ws_parts() | René Kijewski | 2021-11-24 | 1 | -43/+19 |
| | |||||
* | use nom::error::ErrorKind | René Kijewski | 2021-11-24 | 1 | -16/+7 |
| | |||||
* | Updated book to include optional escaper for escape filter | vallentin | 2021-11-19 | 1 | -0/+22 |
| | |||||
* | Added optional escaper tests | vallentin | 2021-11-19 | 1 | -0/+48 |
| | |||||
* | Added support for optional escaper for escape filter (resolves #556) | vallentin | 2021-11-19 | 2 | -11/+36 |
| | |||||
* | askama_gotham: upgrade to gotham 0.7 | Dirkjan Ochtman | 2021-11-15 | 1 | -1/+2 |
| | |||||
* | Implement `for … in … if …` | René Kijewski | 2021-11-11 | 3 | -30/+51 |
| | |||||
* | Add exhaustive whitespace tests for for-else | René Kijewski | 2021-11-11 | 2 | -0/+1147 |
| | |||||
* | Implement for-else | René Kijewski | 2021-11-11 | 4 | -29/+91 |
| | | | | | | | | | | | | | 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 | 4 | -18/+17 |
| | |||||
* | Implement {{loop.cycle(…)}} similar to Jinja | René Kijewski | 2021-11-11 | 4 | -7/+95 |
| | |||||
* | Don't parse non-template attributes | Dirkjan Ochtman | 2021-11-10 | 1 | -9/+5 |
| | |||||
* | Handle build hangs due to unintended template recursion. (#539) | Gaurav Tyagi | 2021-10-25 | 1 | -0/+12 |
| | |||||
* | Make test name consistent with test template name | Kelly Thomas Kline | 2021-10-13 | 1 | -1/+1 |
| | |||||
* | Initial test work | Kelly Thomas Kline | 2021-10-13 | 1 | -0/+16 |
| | |||||
* | Fix support for raw method identifiers | Kelly Thomas Kline | 2021-10-13 | 1 | -1/+1 |
| | |||||
* | Use char() instead of tag() when possible | René Kijewski | 2021-10-12 | 1 | -73/+76 |
| | |||||
* | Remove custom ParserError type | René Kijewski | 2021-10-12 | 1 | -5/+3 |
| | |||||
* | Fix suggestions from nightly clippy | Dirkjan Ochtman | 2021-10-05 | 1 | -13/+9 |
| | |||||
* | Ensure that {%break%} is only used inside of a loop | René Kijewski | 2021-08-30 | 3 | -46/+95 |
| | |||||
* | Add {% break %} and {% continue %} | René Kijewski | 2021-08-30 | 4 | -0/+105 |
| | | | | | This PR adds `{% break %}` and `{% continue %}` statements to break out of a loop, or continue with the next element of the iterator. | ||||
* | Add test case for matching on Option<bool> | Restioson | 2021-08-25 | 2 | -0/+26 |
| | |||||
* | Parse boolean literals in assignment targets | René Kijewski | 2021-08-25 | 2 | -3/+27 |
| | | | | | | | | 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. | ||||
* | Upgrade to nom 7 | Dirkjan Ochtman | 2021-08-21 | 2 | -6/+10 |
| | |||||
* | Bump version numbers in anticipation of beta release | Dirkjan Ochtman | 2021-08-21 | 10 | -14/+14 |
| | |||||
* | Enable config support in askama_shared build dependency | Jonas Platte | 2021-08-07 | 2 | -1/+3 |
| | | | | Fixes using askama with the new Cargo feature resolver and a configuration file. | ||||
* | Update mime_guess dependency | Dirkjan Ochtman | 2021-08-05 | 1 | -1/+1 |
| | |||||
* | Remove the askama_iron integration | Dirkjan Ochtman | 2021-08-05 | 11 | -98/+0 |
| | | | | | | | This web framework seems not to have been updated for quite a while, and its current version appears to depend on vulnerable crates. Remove it for now. If someone wants to fix up Iron upstream and reinstate this, I'd be happy to review your PR. | ||||
* | Upgrade nom to 6.2.1 (bitvec & funty issue) | Lee Hambley | 2021-08-02 | 1 | -2/+1 |
| | |||||
* | Issue #379 was fixed | René Kijewski | 2021-07-30 | 3 | -0/+38 |
| | | | | | | | | This PR adds the tests by @msrd0 <git@msrd0.de> that failed before. The error was fixed somewhen between f23162a and now, so these tests serve to prevent regressions in the future. I simplified the tests very slightly to omit whitespaces in the output. | ||||
* | Better error messages using cuts | René Kijewski | 2021-07-30 | 3 | -131/+205 |
| | |||||
* | Use "target()" to parse "when" block | René Kijewski | 2021-07-30 | 8 | -253/+161 |
| | | | | | | | | | | | | `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. | ||||
* | Allow omitting "with" keyword in match blocks | René Kijewski | 2021-07-30 | 2 | -1/+18 |
| | | | | | | | | | Askama uses the syntax `{% when Variant with (parameters) %}` in `{% match %}` blocks. This is done because Askama does not implement the whole pattern matching of Rust's `match` statements. This PR wants to bring Askama a step closer Rust's matching, so the "with" keyword should not be needed anymore. | ||||
* | Allow using "with" keyword in "let" statements | René Kijewski | 2021-07-30 | 2 | -0/+15 |
| | | | | | | | | Askama uses the syntax `{% when Variant with (parameters) %}` in `{% match %}` blocks. This change allows the optional use of the keyword "with" in "let" and "if let" statements, too. | ||||
* | Silence clippy warning from Rust 1.54 | Dirkjan Ochtman | 2021-07-30 | 1 | -0/+1 |
| | |||||
* | Implement destructoring of structs | René Kijewski | 2021-07-05 | 3 | -8/+166 |
| | | | | | This PR implements the destructoring of structs on the lhs of "let" and "for" statements. | ||||
* | Add "destructoring tuple in loop" test | René Kijewski | 2021-07-05 | 1 | -0/+69 |
| | |||||
* | Add tuple destructoring tests | René Kijewski | 2021-07-05 | 2 | -0/+17 |
| | |||||
* | Parse nested tuples in "let" statement lhs | René Kijewski | 2021-07-05 | 2 | -17/+35 |
| | |||||
* | Add loop variable shadowing test | René Kijewski | 2021-07-05 | 1 | -0/+21 |
| | |||||
* | 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. | ||||
* | Replace rust_macro test to work on nightly | René Kijewski | 2021-07-02 | 2 | -14/+18 |
| | | | | | | | | | | | | | | | | The current rust_test uses `stringify!()`. The documentation gives us the warning: > Note that the expanded results of the input tokens may change in the > future. You should be careful if you rely on the output. In the current nightly rust the result was indeed changed, so the test not fails. This PR replaces the test with another macro, that does not depend on `stringify!()`. Closes issue #504. | ||||
* | Fix expected error message for missing file | René Kijewski | 2021-07-02 | 6 | -0/+16 |
| | | | | | | | | | rust-lang/rust#82069 made error message that stem macro invocations more verbose. Since Rust 1.54 (currently in beta) the message includes the name of the offending macro. This PR uses version_check to select the appropriate expected error message. |