summaryrefslogtreecommitdiff
path: root/src/parse/mod.rs
AgeCommit message (Collapse)Author
2021-10-29Dedent code blocksLaurenz
2021-10-29Allow multiple template bodiesLaurenz
2021-10-05Change indent requirements to allow alignmentLaurenz
Previously the following wouldn't work correctly because "Fourth" would have been a child of "Third". ``` 3. Third ⎵. Fourth ```
2021-09-30Support `else if`Laurenz
2021-09-30No hashtag before else anymoreLaurenz
2021-09-15Blocks directly in template also scopeLaurenz
2021-09-15Rename `SyntaxTree` to `Markup`Laurenz
Also `SyntaxNode` -> `MarkupNode`.
2021-09-15Bugfix and tidyingLaurenz
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-13Optimize memory sizesLaurenz
2021-08-13Argument collection and spreadingLaurenz
2021-08-13Add file information to spansLaurenz
2021-08-12Named arguments for user defined functionsLaurenz
2021-08-10Minor refactoringsLaurenz
- Reorder parser methods and use `Pos` everywhere - Remove tab special handling for columns and adapt heading/list/enum indent handling - Don't panic when a file has an empty path
2021-08-01Pretty-printed diagnostics with tracebackLaurenz
2021-07-31Call args span now includes parensLaurenz
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-29Move EcoString and OptionExt into utilLaurenz
2021-07-16Use array's IntoIterator impl and nested or patternsLaurenz
*yay*
2021-07-10Remove warnings from parsing and castingLaurenz
2021-07-10Reference-count complex valuesLaurenz
Rename some nodes types
2021-07-10Eco string 🌱Laurenz
2021-07-08Replace using with fromLaurenz
2021-07-08Switch to = for headings once againLaurenz
2021-07-08Handle missing arguments to with exprLaurenz
2021-06-30Allow wide calls only directly in templatesLaurenz
2021-06-30Remove color literals (#39)Laurenz
2021-06-30No more collisions between syntax::Tree and layout::TreeLaurenz
2021-06-29Wide callsLaurenz
2021-06-26With expressionsLaurenz
2021-06-18Flip outdated expression namesLaurenz
2021-06-11Basic enumsLaurenz
2021-06-09Tidy upLaurenz
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-06-08Move import parser to appropriate position in the fileLaurenz
2021-06-07Switch back to hashtags for headingsLaurenz
2021-05-31Test cases for include and importMartin Haug
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-03Callee expressions 🍅Laurenz
2021-03-03Show name of user-defined functions in representation 🦋Laurenz
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-03-02Simplify collection parsing ♻Laurenz
In preparation for closure expressions.
2021-02-24While loops 🔁Laurenz
2021-02-18Update coma example ⬆️Laurenz
2021-02-18Refresh parser 🌊Laurenz