aboutsummaryrefslogtreecommitdiffstats
path: root/askama_shared/src/parser.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-04-12Isolate proc-macro dependency to the proc macroLibravatar David Tolnay1-694/+0
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.
2018-04-12Handle a lack of whitespace after match block (fixes #76)Libravatar Dirkjan Ochtman1-4/+5
2017-12-25Properly disable rustfmt in parser moduleLibravatar Dirkjan Ochtman1-2/+1
2017-11-21Disabling rustfmt locally doesn't work in stable RustLibravatar Dirkjan Ochtman1-2/+2
2017-11-21Don't restyle code in parser moduleLibravatar Dirkjan Ochtman1-0/+4
2017-11-02Support matching custom enumsLibravatar Anthony Nowell1-2/+44
2017-11-02support literals in match armsLibravatar Anthony Nowell1-7/+47
2017-11-02support else in match blockLibravatar Anthony Nowell1-0/+15
2017-11-02implement basic match functionalityLibravatar Anthony Nowell1-0/+54
2017-10-22Make empty string literals workLibravatar Dirkjan Ochtman1-1/+1
2017-10-20Tighten up parser code for path expressionsLibravatar Dirkjan Ochtman1-4/+2
2017-10-20Add support for array literals (fixes #59)Libravatar Dirkjan Ochtman1-0/+18
2017-10-15Add scope when importing macrosLibravatar Lars Erik Rosengren1-4/+11
2017-10-04Handle path expressions (fixes #56)Libravatar Dirkjan Ochtman1-0/+18
2017-09-26Add support for importing template files with macros (#51)Libravatar larros1-0/+13
* Fix review comments for macro imports
2017-09-10Add support for tuple indexing in templatesLibravatar Lars Erik Rosengren1-3/+7
2017-09-06Code cleanups as suggested by ClippyLibravatar Dirkjan Ochtman1-4/+4
2017-09-05Stop mutating parsed AST for code generationLibravatar Dirkjan Ochtman1-1/+0
2017-09-05Refactor handling of macrosLibravatar Dirkjan Ochtman1-5/+15
2017-09-04Clean up and tighten faster version of expr_prec_layer macroLibravatar Dirkjan Ochtman1-15/+10
2017-09-03Changed implementation of precedence rulesLibravatar Lars Erik Rosengren1-6/+12
This implementation resolves djc/askama#44 by changing the precedence implementation. The previous solution was very slow because it had to try to parse all combinations of precedence layers leading to 2^9 iterations for each expr_any. This is solved by reusing the left operand instead of reparsing it when the operator isn't found. This implementation also solves another related issue that expressions with multiple operators couldn't be parsed, for example {{1 * 2 * 3}}. This is handled by using expr_any for the right operand instead of only using higher level precedence layers.
2017-08-27Move most of the code into new askama_shared crateLibravatar Dirkjan Ochtman1-0/+0
This makes it possible to share code between askama and askama_derive.
2017-08-24Allow {% block name %} {% endblock name %}Libravatar Bastien Orivel1-0/+1
This makes converting an app from tera to askama easier.
2017-08-22Add support for calling macrosLibravatar Dirkjan Ochtman1-13/+24
2017-08-22Refactor parser handling of argumentsLibravatar Dirkjan Ochtman1-21/+19
2017-08-22Implement support for macro definition handlingLibravatar Dirkjan Ochtman1-1/+43
2017-08-22Rename method call internals for clarityLibravatar Dirkjan Ochtman1-2/+2
2017-08-16Allow separation of variable declaration and defintionLibravatar Dirkjan Ochtman1-3/+11
2017-08-14Add support for simple variable definition statementsLibravatar Dirkjan Ochtman1-0/+12
2017-08-06Expand include node to template source during code generationLibravatar Dirkjan Ochtman1-4/+2
2017-08-06Use one way of finding templates on the pathLibravatar Dirkjan Ochtman1-1/+2
2017-08-06Merge handling of trailing newline into get_template_source()Libravatar Dirkjan Ochtman1-10/+4
2017-08-04Add test for panic on invalid blocks (see #27)Libravatar Dirkjan Ochtman1-0/+5
2017-08-04Let parse() panic if template is not parsed completely (fixes #27)Libravatar Dirkjan Ochtman1-1/+8
2017-08-04Handle parsing for blocks in one placeLibravatar Dirkjan Ochtman1-15/+14
2017-08-04Add support for include blocks (see #25)Libravatar Dirkjan Ochtman1-0/+22
2017-08-02Fix edge cases in content literal parser (fixes #24)Libravatar Dirkjan Ochtman1-11/+26
2017-05-26Add support for chained attributes (fixes #22)Libravatar Dirkjan Ochtman1-12/+21
2017-03-06Hide askama_derive dependency inside askama (fixes #2)Libravatar Dirkjan Ochtman1-0/+0
2017-03-03Add basic support for commentsLibravatar Dirkjan Ochtman1-1/+10
2017-03-03Add support for parenthesized expressionsLibravatar Dirkjan Ochtman1-1/+8
2017-02-18Add support for method callsLibravatar Dirkjan Ochtman1-1/+7
2017-02-18Add parser for identifiersLibravatar Dirkjan Ochtman1-12/+26
2017-02-18Add support for filters with multiple argumentsLibravatar Dirkjan Ochtman1-6/+34
2017-02-18Add support for attributesLibravatar Dirkjan Ochtman1-1/+11
2017-02-17Add support for integer literalsLibravatar Dirkjan Ochtman1-0/+6
2017-02-17Use better parsing strategy for filter expressionsLibravatar Dirkjan Ochtman1-26/+22
2017-02-17Import alphanumeric from nom to simplify macro handlingLibravatar Dirkjan Ochtman1-5/+5
2017-02-17Derive Debug for parser AST enumsLibravatar Dirkjan Ochtman1-1/+4
2017-02-17Add support for most binary operatorsLibravatar Dirkjan Ochtman1-1/+8