summaryrefslogtreecommitdiff
path: root/src/syntax/mod.rs
AgeCommit message (Collapse)Author
2021-01-30Interpret two backticks as single-backtick block โœ…Laurenz
2021-01-30New syntax ๐Ÿ’ŽLaurenz
- Everything everywhere! - Blocks with curly braces: {} - Templates with brackets: [] - Function templates with hashtag: `#[f]` - Headings with equals sign: `= Introduction`
2021-01-30Moves captures visitor into separate file ๐ŸššLaurenz
2021-01-27Capture variables in templates ๐Ÿ”Laurenz
2021-01-26For loop patterns ๐ŸฆšLaurenz
2021-01-26More straightforward pretty printing tests ๐ŸงนLaurenz
2021-01-06Pretty printing ๐Ÿฆ‹Laurenz
- Syntax tree and value pretty printing - Better value evaluation (top-level strings and content are evaluated plainly, everything else is pretty printed)
2021-01-03Move and rename many things ๐Ÿš›Laurenz
2020-12-31Parsing improvements ๐ŸงฝLaurenz
- Simplified scanner code - Peek eagerly - Skip whitespace and comments automatically in header mode - Parse simple block expressions - Move literal definitions into expression module - Raw resolving tests
2020-10-10Flatten ast module back into syntax module ๐ŸŒชLaurenz
2020-10-07Move deco, pass and feedback into diagnostics module โ†ฉLaurenz
2020-10-05Streamline generic layouting primitives ๐Ÿ›ซLaurenz
2020-10-04Shorten some names โ†”Laurenz
2020-10-03Rename bold/italic to strong/emph โœLaurenz
2020-10-02Refactor parser ๐ŸžLaurenz
2020-10-01Reorganize ast types ๐Ÿ•Laurenz
2020-10-01Rename table to dict โœLaurenz
2020-10-01Make syntax not depend on parse ๐Ÿ“ฉLaurenz
This would make it possible to split them into two separate crates.
2020-09-30Replace line/column with byte positions ๐Ÿ”ขLaurenz
2020-09-30Move decoration into mod.rs ๐Ÿ”™Laurenz
2020-09-30Reorganize syntax types into two modules ๐Ÿ“ฆLaurenz
2020-09-03Split up parser into multiple files ๐ŸงฑLaurenz
Splits up into: - escaping: resolving of escape sequences - parser: the parsing code - tests: all integrated parsing tests Also moves Ident from the root syntax module into the tree module.
2020-08-30Format everything with rustfmt! ๐Ÿ’šLaurenz
2020-08-16Add Value type and replace dyn-nodes with call-exprs ๐Ÿ—Laurenz
- In addition to syntax trees there are now `Value`s, which syntax trees can be evaluated into (e.g. the tree is `5+5` and the value is `10`) - Parsing is completely pure, function calls are not parsed into nodes, but into simple call expressions, which are resolved later - Functions aren't dynamic nodes anymore, but simply functions which receive their arguments as a table and the layouting context - Functions may return any `Value` - Layouting is powered by functions which return the new `Commands` value, which informs the layouting engine what to do - When a function returns a non-`Commands` value, the layouter simply dumps the value into the document in monospace
2020-08-16Remove tuples and objects in favor of tables ๐Ÿ›ขLaurenz
This refactores the parser tests to make them more concise and flexible with regards to spans.
2020-08-15Rename Value trait into TryFromExpr โœ’Laurenz
2020-08-04Refactor function parsing โ™ปLaurenz
2020-08-03Formatting, documentation and small improvements ๐ŸงฝLaurenz
2020-08-02Replace body! macro with functions ๐ŸงฐLaurenz
2020-08-02Refactor model into tree ๐Ÿ›’Laurenz
2020-08-02Refactor argument parsing ๐Ÿ”ฌLaurenz
2020-07-29Move, rename and switch some things (boring) ๐ŸššLaurenz
- Problems -> Diagnostics - Position -> Pos - offset_spans -> Offset trait - Size -> Length (and some more size types renamed) - Paper into its own module - scope::Parser -> parsing::CallParser - Create `Decorations` alias - Remove lots of double newlines - Switch from f32 to f64
2020-02-13New syntax features ๐Ÿ‘”Laurenz
- Forced line breaks with backslash followed by whitespace - (Multline) raw text in backticks - Set font class fallbacks with [font.family] (e.g. [font.family: monospace=("CMU Typewriter Text")]) - More sophisticated procedure to find end of function, which accounts for comments, strings, raw text and nested functions (this is a mix of a feature and a bug fix)
2020-02-11Parse tuples and objects ๐Ÿ’Laurenz
Generalizes the parsing of tuples, objects and function arguments into generic comma-separated collections.
2020-02-07Improve syntax testing framework โ™ปLaurenz
... and finally expand a few escape sequences in strings.
2020-02-06Highlight bold / italic / monospace ๐ŸŽจLaurenz
2020-02-04Merge `Parsed` and `Layouted` types into `Pass` with `Feedback` ๐ŸŒ๐ŸŽข๐ŸŒšLaurenz
2020-02-03Port tests ๐ŸšLaurenz
2020-02-03Better Debug/Display and Derives ๐ŸงฝLaurenz
2020-02-03Upgrade to new toddle interface ๐ŸณLaurenz
2020-01-26Document everything ๐Ÿ“œLaurenz
2020-01-24Reorganize modules ๐ŸงฑLaurenz
2020-01-24Non-fatal argument parsing ๐ŸŒ‹Laurenz
2020-01-21Decoupled function parser ๐Ÿ”— [WIP]Laurenz
2020-01-19Move to non-fatal errors ๐Ÿช‚ [WIP]Laurenz
- Dynamic models instead of SyntaxTrees - No more ParseResult/LayoutResult - Errors and Decorations which are propagated to parent contexts - Models are finally clonable
2020-01-18ColorToken serialization + function fix ๐ŸšงLaurenz
2020-01-16Do argument parsing โ˜‘Laurenz
2020-01-16Powerful parser testing ๐Ÿฑโ€๐Ÿ‘คLaurenz
2020-01-14Parser testing prototype ๐ŸฅฅLaurenz
2020-01-13Checkpoint ๐ŸLaurenz