summaryrefslogtreecommitdiff
path: root/src/syntax/visit.rs
AgeCommit message (Collapse)Author
2021-11-05Change parserMartin Haug
2021-09-15Blocks directly in template also scopeLaurenz
2021-09-15Rename `SyntaxTree` to `Markup`Laurenz
Also `SyntaxNode` -> `MarkupNode`.
2021-08-21Prune derivesLaurenz
2021-08-17Library functions behave more imperativelyLaurenz
- Templates scope state changes - State-modifying function operate in place instead of returning a template - Internal template representation contains actual owned nodes instead of a pointer to a syntax tree + an expression map - No more wide calls
2021-08-14Adjust macros to new versionLaurenz
2021-08-13Optimize memory sizesLaurenz
2021-08-13Argument collection and spreadingLaurenz
2021-08-12Named arguments for user defined functionsLaurenz
2021-08-12Array and dictionary indexingLaurenz
2021-07-30Fatal errorsLaurenz
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free - Parsing still recovers and can produce multiple errors - Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import) - The single error that could occur during execution is removed for now - Removes Value::Error variant
2021-07-10Reference-count complex valuesLaurenz
Rename some nodes types
2021-06-30Remove color literals (#39)Laurenz
2021-06-30No more collisions between syntax::Tree and layout::TreeLaurenz
2021-06-29Mutable visitorLaurenz
2021-06-27Fix capturing bugLaurenz
2021-06-26With expressionsLaurenz
2021-06-11Basic enumsLaurenz
2021-06-09Add a grid layouterMartin Haug
2021-06-09Introduce `fr`sMartin Haug
2021-06-09Lists with indent-based parsingLaurenz
- Unordered lists with indent-based parsing and basic layout using stacks - Headings are now also indent based - Removes syntax functions since they will be superseded by select & transform
2021-05-31Parse import and include expressionsMartin Haug
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-03-21Syntax functions 🚀Laurenz
This adds overridable functions that markup desugars into. Specifically: - \ desugars into linebreak - Two newlines desugar into parbreak - * desugars into strong - _ desugars into emph - = .. desugars into heading - `..` desugars into raw
2021-03-19Scheduled maintenance 🔨Laurenz
- New naming scheme - TextNode instead of NodeText - CallExpr instead of ExprCall - ... - Less glob imports - Removes Value::Args variant - Removes prelude - Renames Layouted to Fragment - Moves font into env - Moves shaping into layout - Moves frame into separate module
2021-03-03Closures and function definitions 🚀Laurenz
Supports: - Closure syntax: `(x, y) => z` - Shorthand for a single argument: `x => y` - Function syntax: `let f(x) = y` - Capturing of variables from the environment - Error messages for too few / many passed arguments Does not support: - Named arguments - Variadic arguments with `..`
2021-02-24While loops 🔁Laurenz
2021-02-09Add arguments value 🏓Laurenz
2021-02-09Split evaluation and execution 🔪Laurenz
2021-02-07Remove captured expression 🗑️Laurenz
2021-02-07Dry-clean visitor with a macro 🏜Laurenz
2021-01-30Capture variable by slot instead of value 🎣Laurenz
2021-01-27Capture variables in templates 🔍Laurenz