summaryrefslogtreecommitdiff
path: root/src/library/align.rs
AgeCommit message (Collapse)Author
2020-10-07Evaluation and node-based layouting ๐Ÿš€Laurenz
2020-10-06Typesafe conversions in stack & line layouters ๐ŸฎLaurenz
2020-10-06Rename secondary/primary to main/cross โœLaurenz
2020-10-05Tidy up align function ๐ŸงบLaurenz
2020-10-05Remove @ syntax in diagnostics macros ๐Ÿ—‘Laurenz
2020-10-04Small improvements ๐ŸชLaurenz
2020-10-04Better argument parsing ๐Ÿฅ™Laurenz
2020-10-04Style nits ๐ŸŽˆLaurenz
2020-10-04Separate state and constraints ๐ŸงถLaurenz
2020-10-02Small improvements ๐ŸงบLaurenz
2020-10-01Generalize layouting primitives ๐Ÿ›คLaurenz
2020-10-01Reorganize ast types ๐Ÿ•Laurenz
2020-10-01Rename table to dict โœLaurenz
2020-08-29Make align not behave box-like and smarter ๐Ÿ“ฆLaurenz
Doesn't layout contents into a box anymore, instead layouting inline in the parent context. Also makes axis inferring for center alignents smarter (just because I had fun doing it). It's unsure whether we want to keep it because it might be confusing.
2020-08-17Tidy up library functions ๐Ÿงบ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-14Desugar body into last argument ๐ŸฉLaurenz
2020-08-14Always parse bodies as syntax trees ๐ŸŒณLaurenz
Previously they were passed as strings to the function parser, now they are parsed and then passed as trees to the function. This allows making bodies sugar for a last content argument. While it removes some flexibility allowing function to parse arbitrary syntaxes in their bodies, these can be modelled as (raw) string arguments.
2020-08-04Refactor function parsing โ™ปLaurenz
2020-01-24Non-fatal argument parsing ๐ŸŒ‹Laurenz
2020-01-16Powerful parser testing ๐Ÿฑโ€๐Ÿ‘คLaurenz
2020-01-06Asyncify font loading ๐ŸชLaurenz
2020-01-05Re-enable *, _ and `.Laurenz
2019-12-13More consistent library code and functions ๐ŸŽ„Laurenz
2019-12-13Implement expression kind for Spanned<T> ๐Ÿ‘ฉโ€๐Ÿ’ปLaurenz
2019-12-12Refine and rename layouting types ๐Ÿ›€Laurenz
2019-12-06Finish consistent map and add two further convenience maps ๐Ÿ—บLaurenz
2019-12-05Move arg parser into `FuncArgs` and create (incomplete) consistent map ๐ŸงญLaurenz
2019-12-04Unify error types โ™พLaurenz
2019-12-04Expand functionality of function! macro ๐Ÿ›ฐLaurenz
2019-11-30Refactor layouting base โ™ปLaurenz
2019-11-30Better error reporting ๐ŸšจLaurenz
2019-10-23Introduce a set of macros for writing functions more concisely ๐ŸŽLaurenz
2019-10-17Add pagebreak function โญLaurenz
2019-10-17Implement context-modifying align ๐ŸงฉLaurenz
2019-10-16Rearrange layouting contexts โ™ปLaurenz
2019-10-16Allow center alignment ๐Ÿ“Laurenz
2019-10-13Run rustfmt ๐ŸšฟLaurenz
2019-10-13Reformat some things ๐ŸงบLaurenz
2019-10-13Move functions to command-based architecture โœˆLaurenz
2019-10-13Refactor layout types ๐ŸšงLaurenz
2019-10-10Add standard `align` function and support right-alignment โžก๏ธLaurenz