diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-08-16 22:14:27 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-08-16 22:39:21 +0200 |
| commit | 30f16bbf6431ca0c174ca0a1abaa6a13ef50ab06 (patch) | |
| tree | f5a5c0adad15840ebe24b39e77ff467862067c91 /tests | |
| parent | 9f6137d8a829fe8f34554623495fa620252a0184 (diff) | |
Add Value type and replace dyn-nodes with call-exprs 🏗
- 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
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_typeset.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/test_typeset.rs b/tests/test_typeset.rs index 880818da..4d853393 100644 --- a/tests/test_typeset.rs +++ b/tests/test_typeset.rs @@ -87,7 +87,10 @@ fn test( let typeset = block_on(typesetter.typeset(src)); let layouts = typeset.output; - for diagnostic in typeset.feedback.diagnostics { + let mut feedback = typeset.feedback; + + feedback.diagnostics.sort(); + for diagnostic in feedback.diagnostics { println!( " {:?} {:?}: {}", diagnostic.v.level, diagnostic.span, diagnostic.v.message, |
