aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Allow whitespace trimming in {{raw}} blocksLibravatar René Kijewski2021-11-294-18/+33
|
* Add Axum integrationLibravatar Michael Alyn Miller2021-11-2716-1/+144
|
* Simplify take_content() implementationLibravatar René Kijewski2021-11-241-43/+37
|
* Parse `&str` instead of `&[u8]`Libravatar René Kijewski2021-11-241-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() implementationLibravatar René Kijewski2021-11-241-17/+15
|
* Simplify ws() and split_ws_parts()Libravatar René Kijewski2021-11-241-43/+19
|
* use nom::error::ErrorKindLibravatar René Kijewski2021-11-241-16/+7
|
* Updated book to include optional escaper for escape filterLibravatar vallentin2021-11-191-0/+22
|
* Added optional escaper testsLibravatar vallentin2021-11-191-0/+48
|
* Added support for optional escaper for escape filter (resolves #556)Libravatar vallentin2021-11-192-11/+36
|
* askama_gotham: upgrade to gotham 0.7Libravatar Dirkjan Ochtman2021-11-151-1/+2
|
* Implement `for … in … if …`Libravatar René Kijewski2021-11-113-30/+51
|
* Add exhaustive whitespace tests for for-elseLibravatar René Kijewski2021-11-112-0/+1147
|
* Implement for-elseLibravatar René Kijewski2021-11-114-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)Libravatar Sergey Pashinin2021-11-114-18/+17
|
* Implement {{loop.cycle(…)}} similar to JinjaLibravatar René Kijewski2021-11-114-7/+95
|
* Don't parse non-template attributesLibravatar Dirkjan Ochtman2021-11-101-9/+5
|
* Handle build hangs due to unintended template recursion. (#539)Libravatar Gaurav Tyagi2021-10-251-0/+12
|
* Make test name consistent with test template nameLibravatar Kelly Thomas Kline2021-10-131-1/+1
|
* Initial test workLibravatar Kelly Thomas Kline2021-10-131-0/+16
|
* Fix support for raw method identifiersLibravatar Kelly Thomas Kline2021-10-131-1/+1
|
* Use char() instead of tag() when possibleLibravatar René Kijewski2021-10-121-73/+76
|
* Remove custom ParserError typeLibravatar René Kijewski2021-10-121-5/+3
|
* Fix suggestions from nightly clippyLibravatar Dirkjan Ochtman2021-10-051-13/+9
|
* Ensure that {%break%} is only used inside of a loopLibravatar René Kijewski2021-08-303-46/+95
|
* Add {% break %} and {% continue %}Libravatar René Kijewski2021-08-304-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>Libravatar Restioson2021-08-252-0/+26
|
* Parse boolean literals in assignment targetsLibravatar René Kijewski2021-08-252-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 7Libravatar Dirkjan Ochtman2021-08-212-6/+10
|
* Bump version numbers in anticipation of beta releaseLibravatar Dirkjan Ochtman2021-08-2110-14/+14
|
* Enable config support in askama_shared build dependencyLibravatar Jonas Platte2021-08-072-1/+3
| | | | Fixes using askama with the new Cargo feature resolver and a configuration file.
* Update mime_guess dependencyLibravatar Dirkjan Ochtman2021-08-051-1/+1
|
* Remove the askama_iron integrationLibravatar Dirkjan Ochtman2021-08-0511-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)Libravatar Lee Hambley2021-08-021-2/+1
|
* Issue #379 was fixedLibravatar René Kijewski2021-07-303-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 cutsLibravatar René Kijewski2021-07-303-131/+205
|
* Use "target()" to parse "when" blockLibravatar René Kijewski2021-07-308-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 blocksLibravatar René Kijewski2021-07-302-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" statementsLibravatar René Kijewski2021-07-302-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.54Libravatar Dirkjan Ochtman2021-07-301-0/+1
|
* Implement destructoring of structsLibravatar René Kijewski2021-07-053-8/+166
| | | | | This PR implements the destructoring of structs on the lhs of "let" and "for" statements.
* Add "destructoring tuple in loop" testLibravatar René Kijewski2021-07-051-0/+69
|
* Add tuple destructoring testsLibravatar René Kijewski2021-07-052-0/+17
|
* Parse nested tuples in "let" statement lhsLibravatar René Kijewski2021-07-052-17/+35
|
* Add loop variable shadowing testLibravatar René Kijewski2021-07-051-0/+21
|
* Reduce code duplication for writing targetsLibravatar René Kijewski2021-07-051-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 methodLibravatar René Kijewski2021-07-051-23/+33
|
* Remove needless deref, only to ref it a few lines downLibravatar René Kijewski2021-07-051-4/+4
|
* Remove duplicated code in generatorLibravatar René Kijewski2021-07-051-17/+1
|
* Prepare generator::visit_target() for nested targetsLibravatar René Kijewski2021-07-051-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.