aboutsummaryrefslogtreecommitdiffstats
path: root/askama_shared/src/parser.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2017-02-17Use macro to prevent repetitive parser definitionsLibravatar Dirkjan Ochtman1-22/+17
2017-02-13Implement support for mul, div, mod operatorsLibravatar Dirkjan Ochtman1-3/+13
2017-02-13Establish expression parser hierarchyLibravatar Dirkjan Ochtman1-13/+14
2017-02-13Generically represent binary operators in parse treeLibravatar Dirkjan Ochtman1-3/+3
2017-02-08Use is_none() for simple Option testsLibravatar Dirkjan Ochtman1-2/+2
2017-02-08Implement generator support for whitespace handling markersLibravatar Dirkjan Ochtman1-1/+1
2017-02-08Convert everything to &str in the parser codeLibravatar Dirkjan Ochtman1-22/+32
2017-02-08Add support for whitespace handling markers to parserLibravatar Dirkjan Ochtman1-14/+39
2017-02-08Improve readability of parser macro invocationsLibravatar Dirkjan Ochtman1-15/+26
2017-02-08Add unit tests for whitespace splitterLibravatar Dirkjan Ochtman1-0/+23
2017-02-08Split leading and trailing whitespace out of literalsLibravatar Dirkjan Ochtman1-4/+24
2017-02-08Assorted cleanups as suggested by clippyLibravatar Dirkjan Ochtman1-2/+2
2017-02-08Simplify types for Nodes and Conds, pass slice where possibleLibravatar Dirkjan Ochtman1-5/+4
2017-02-08Fold identical branches in parser (as suggested by clippy)Libravatar Dirkjan Ochtman1-3/+1
2017-02-05Add parser support for block and extend blocksLibravatar Dirkjan Ochtman1-1/+24
2017-02-05Allow zero nodes in top-level parserLibravatar Dirkjan Ochtman1-1/+1
2017-02-05Add support for string literalsLibravatar Dirkjan Ochtman1-1/+9
2017-02-04Generalize support for comparison operatorsLibravatar Dirkjan Ochtman1-5/+10
2017-02-04Simplify parsing of if-blocksLibravatar Dirkjan Ochtman1-2/+1