summaryrefslogtreecommitdiff
path: root/src/lib.rs
AgeCommit message (Collapse)Author
2021-02-11Move span directly into diagnostics ๐ŸššLaurenz
2021-02-09Split evaluation and execution ๐Ÿ”ชLaurenz
2021-01-15Split state and scopes, less ref-counting ๐Ÿ”€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-11-27Basic environment and resource loader ๐ŸžLaurenz
2020-11-24Use newly stabilized intra doc links โ†ฉLaurenz
2020-10-12Naming and grammar โœ”Laurenz
2020-10-12Synchronous layout ๐Ÿช€Laurenz
2020-10-10Switch back to custom geometry types, unified with layout primitives ๐ŸžLaurenz
2020-10-07Move deco, pass and feedback into diagnostics module โ†ฉLaurenz
2020-10-07Evaluation and node-based layouting ๐Ÿš€Laurenz
2020-10-04Small improvements ๐ŸชLaurenz
2020-10-04Shorten some names โ†”Laurenz
2020-10-04Remove unncessary wrappers and typedefs ๐Ÿ›‘Laurenz
2020-10-04Separate state and constraints ๐ŸงถLaurenz
2020-10-04Remove Typesetter in favor of typeset function ๐ŸŽฏLaurenz
2020-10-04Refactor and move shaping out of the layout module โ›ณLaurenz
2020-10-03Small documentation fixes ๐ŸงพLaurenz
2020-10-03Port to kurbo ๐ŸŽ‹Laurenz
2020-10-01Generalize layouting primitives ๐Ÿ›คLaurenz
2020-10-01Rename compute to eval โœLaurenz
2020-10-01Flatten compute moduleLaurenz
2020-10-01Reorganize ast types ๐Ÿ•Laurenz
2020-09-30Move decoration into mod.rs ๐Ÿ”™Laurenz
2020-09-30Reorganize syntax types into two modules ๐Ÿ“ฆLaurenz
2020-08-30Format everything with rustfmt! ๐Ÿ’šLaurenz
2020-08-17Parse braced expressions and bracketed calls in headers ๐Ÿ—ณLaurenz
- Refactors the tokenizer to be lazy: It does not emit pre-parsed function tokens, but instead allows it's mode to be changed. The modes are tracked on a stack to allow nested compute/typesetting (pop/push). - Introduces delimited groups into the parser, which make it easy to parse delimited expressions without handling the delimiters in the parsing code for the group's content. A group is started with `start_group`. When reaching the group's end (matching delimiter) the eat and peek methods will simply return `None` instead of the delimiter, stopping the content parser and bubbling up the call stack until `end_group` is called to clear up the situation.
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-14Basic table type ๐Ÿ“”Laurenz
- Keys are strings or integers - Access with borrowed or owned keys - `push` method for array-like pattern - No iteration support yet
2020-08-04Refactor function parsing โ™ปLaurenz
2020-08-03Formatting, documentation and small improvements ๐ŸงฝLaurenz
2020-08-02Refactor model into tree ๐Ÿ›’Laurenz
2020-08-02Layout elements and pure rust rendering ๐ŸฅLaurenz
2020-08-02Move binary into separate crate and tidy dependencies ๐ŸŽญLaurenz
2020-08-02Refactor argument parsing ๐Ÿ”ฌLaurenz
2020-08-01Raw lengths ๐ŸšฒLaurenz
Replace unitless length with raw f64 and introduce length type with unit.
2020-08-01Port font handling to fontdock and ttf-parser ๐Ÿ›ณLaurenz
- Use fontdock for indexing fonts and querying - Typst binary now automatically indexes and uses system fonts in addition to a fixed font folder! - Removes subsetting support for now (was half-finished anyways, plan is to use harfbuzz for subsetting in the future) - Adds font width configuration support
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-07-29Improve argument naming and fix grammar in comment โ™ปLaurenz
2020-07-27Refactor parser ๐Ÿš‡Laurenz
2020-07-26Rename errors to problems and make error! macro more ergonomic ๐ŸงผLaurenz
Also adds a `warning!` macro.
2020-02-06Highlight bold / italic / monospace ๐ŸŽจLaurenz
2020-02-04Serialize layouts with serde ๐Ÿ” Laurenz
2020-02-04Merge `Parsed` and `Layouted` types into `Pass` with `Feedback` ๐ŸŒ๐ŸŽข๐ŸŒšLaurenz
2020-02-04Adapt for tonty and fix a few bugs ๐Ÿšง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