Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | derive: refactor parser | 2023-01-30 | 1 | -1940/+0 | |
| | | | | | | | | | | | `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 else | 2023-01-30 | 1 | -2/+2 | |
| | |||||
* | derive: Make Config `'static` | 2023-01-30 | 1 | -18/+15 | |
| | | | | | | | 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) | 2023-01-30 | 1 | -2/+2 | |
| | |||||
* | Fail to parse if keyword is not longest ident | 2022-11-09 | 1 | -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. | ||||
* | Add Expr::is_cachable() | 2022-09-19 | 1 | -0/+33 | |
| | |||||
* | Move code generation into askama_derive | 2022-05-24 | 1 | -0/+1885 | |
| | |||||
* | Move parser into askama_shared | 2020-01-29 | 1 | -1093/+0 | |
| | |||||
* | Support escaping in string literals | 2020-01-12 | 1 | -20/+30 | |
| | | | | | | Do not attempt to parse escape sequences thoroughly. Instead let the Rust compiler to check the string literals and provide nice error messages if necessary. | ||||
* | Support char literals | 2020-01-03 | 1 | -2/+30 | |
| | |||||
* | Clean up clippy warnings | 2020-01-02 | 1 | -16/+13 | |
| | |||||
* | Migrate to non-macro combinators | 2019-11-11 | 1 | -541/+709 | |
| | |||||
* | Upgrade to nom 5 | 2019-11-11 | 1 | -94/+90 | |
| | |||||
* | Remove use of deprecated nom macro | 2019-10-09 | 1 | -1/+1 | |
| | |||||
* | Add support for boolean literals | 2019-10-08 | 1 | -0/+7 | |
| | |||||
* | Implement selected clippy recommendations. | 2019-07-11 | 1 | -1/+1 | |
| | |||||
* | Simplify parser with nom's list combinators | 2019-05-04 | 1 | -121/+44 | |
| | |||||
* | WIP: Add raw block | 2019-04-18 | 1 | -1/+22 | |
| | |||||
* | Allow Rust macro calls in more places (see #226) | 2019-03-18 | 1 | -2/+2 | |
| | |||||
* | Allow trailing commas in tuples (#188) | 2019-01-08 | 1 | -0/+1 | |
| | |||||
* | Add support for #![feature(non_ascii_idents)] | 2019-01-08 | 1 | -2/+7 | |
| | |||||
* | Add support for tuple | 2019-01-04 | 1 | -2/+22 | |
| | |||||
* | fix rust macro arguments | 2018-12-13 | 1 | -6/+57 | |
| | |||||
* | Allow using brackets for enums in `match` | 2018-12-12 | 1 | -4/+50 | |
| | |||||
* | Use 2018 edition idioms | 2018-12-08 | 1 | -2/+2 | |
| | |||||
* | Upgrade to 2018 edition | 2018-12-08 | 1 | -3/+3 | |
| | |||||
* | Add Rust macro support at templates | 2018-10-07 | 1 | -1/+12 | |
| | |||||
* | Fix deprecated tag s! in favor of tag! | 2018-10-05 | 1 | -83/+83 | |
| | |||||
* | Fix fmt at parser.rs | 2018-10-05 | 1 | -28/+42 | |
| | |||||
* | Add changing delimiters support | 2018-10-05 | 1 | -68/+106 | |
| | |||||
* | Clean up according to clippy suggestions | 2018-07-02 | 1 | -1/+1 | |
| | |||||
* | Add support for range operators (see #95) | 2018-06-23 | 1 | -1/+21 | |
| | |||||
* | Add support for Index operation (see #95) | 2018-06-23 | 1 | -1/+16 | |
| | |||||
* | Disallow user-defined macros named 'super' | 2018-06-22 | 1 | -9/+14 | |
| | |||||
* | Clean up clippy suggestions | 2018-06-21 | 1 | -1/+1 | |
| | |||||
* | Port parser to nom 4 | 2018-06-15 | 1 | -67/+79 | |
| | |||||
* | Fix copy/paste error in whitespace handling | 2018-05-14 | 1 | -2/+2 | |
| | |||||
* | Add support for unary operators (fixes #83) | 2018-04-27 | 1 | -1/+11 | |
| | |||||
* | Properly handle whitespace around comments (fixes #79) | 2018-04-17 | 1 | -3/+4 | |
| | |||||
* | Isolate proc-macro dependency to the proc macro | 2018-04-12 | 1 | -0/+694 | |
| | | | | | | | | | The dependency of askama on askama_shared on syn on libproc_macro used to mean libproc_macro would be dynamically linked into any crate using askama. We want only askama_derive to have a runtime dependency on proc macro. This commit moves all proc macro code from askama_shared into askama_derive so that the askama crate no longer dynamically links libproc_macro. | ||||
* | Move most of the code into new askama_shared crate | 2017-08-27 | 1 | -471/+0 | |
| | | | | This makes it possible to share code between askama and askama_derive. | ||||
* | Allow {% block name %} {% endblock name %} | 2017-08-24 | 1 | -0/+1 | |
| | | | | This makes converting an app from tera to askama easier. | ||||
* | Add support for calling macros | 2017-08-22 | 1 | -13/+24 | |
| | |||||
* | Refactor parser handling of arguments | 2017-08-22 | 1 | -21/+19 | |
| | |||||
* | Implement support for macro definition handling | 2017-08-22 | 1 | -1/+43 | |
| | |||||
* | Rename method call internals for clarity | 2017-08-22 | 1 | -2/+2 | |
| | |||||
* | Allow separation of variable declaration and defintion | 2017-08-16 | 1 | -3/+11 | |
| | |||||
* | Add support for simple variable definition statements | 2017-08-14 | 1 | -0/+12 | |
| | |||||
* | Expand include node to template source during code generation | 2017-08-06 | 1 | -4/+2 | |
| | |||||
* | Use one way of finding templates on the path | 2017-08-06 | 1 | -1/+2 | |
| |