summaryrefslogtreecommitdiff
path: root/src/syntax/span.rs
AgeCommit message (Collapse)Author
2022-02-17Make values hashableLaurenz
2022-01-24Export into rendered imagesLaurenz
2021-11-15Make clippy happier and remove `Str`Laurenz
2021-11-08Fine-grained capturingLaurenz
2021-11-05RefactoringLaurenz
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05Change parserMartin Haug
2021-08-21Prune derivesLaurenz
2021-08-14Separate type for string valuesLaurenz
2021-08-13Add file information to spansLaurenz
2021-08-01Pretty-printed diagnostics with tracebackLaurenz
2021-07-10Reference-count complex valuesLaurenz
Rename some nodes types
2021-04-21Make frames serializable ๐Ÿ“šLaurenz
This also makes serialization support non-optional since it's too much feature-management for too little benefit.
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-02-11Move all pretty printing into one module and pretty print values ๐Ÿฆ‹Laurenz
2021-02-09Split evaluation and execution ๐Ÿ”ชLaurenz
2021-01-26Multi-expression blocks ๐Ÿ›๏ธLaurenz
2021-01-22Many more expressions ๐Ÿฅ—Laurenz
Boolean, equality, comparison and assignment expression parsing and evaluation.
2021-01-16Port remaining parser tests ๐ŸššLaurenz
2021-01-04Better value representations, type function ๐ŸŒLaurenz
2021-01-03Move and rename many things ๐Ÿš›Laurenz
2021-01-01A few small improvements โ™ปLaurenz
2020-11-16Remove unused function `Spanned::value` ๐Ÿ—‘Laurenz
2020-10-12Synchronous layout ๐Ÿช€Laurenz
2020-10-05Streamline generic layouting primitives ๐Ÿ›ซLaurenz
2020-10-04Better argument parsing ๐Ÿฅ™Laurenz
2020-10-03Small documentation fixes ๐ŸงพLaurenz
2020-10-02Remove spans from token iterator ๐ŸงฝLaurenz
2020-10-02Refactor parser ๐ŸžLaurenz
2020-10-01Reorganize ast types ๐Ÿ•Laurenz
2020-10-01Make syntax not depend on parse ๐Ÿ“ฉLaurenz
This would make it possible to split them into two separate crates.
2020-09-30Refactor raw blocks ๐Ÿ’ฑLaurenz
2020-09-30Replace line/column with byte positions ๐Ÿ”ขLaurenz
2020-09-30SpanWith trait โ†”Laurenz
2020-09-30Move decoration into mod.rs ๐Ÿ”™Laurenz
2020-09-30Reorganize syntax types into two modules ๐Ÿ“ฆ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-15Remove SpanlessEq ๐ŸŽƒLaurenz
The new solution is slightly hacky, but way more flexible. All types that implement PartialEq can now be compared spanlessly in tests by manipulating a thread-local boolean that is read in Span's PartialEq implementation.
2020-08-15Take references in TryFromExpr ๐Ÿ”ญLaurenz
2020-08-03Formatting, documentation and small improvements ๐ŸงฝLaurenz
2020-08-02Move binary into separate crate and tidy dependencies ๐ŸŽญ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-07-27Refactor parser ๐Ÿš‡Laurenz
2020-07-26Streamline parser and tokenizer test code โœˆLaurenz
2020-07-26Rename errors to problems and make error! macro more ergonomic ๐ŸงผLaurenz
Also adds a `warning!` macro.
2020-02-11Parse tuples and objects ๐Ÿ’Laurenz
Generalizes the parsing of tuples, objects and function arguments into generic comma-separated collections.
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-01-26Document everything ๐Ÿ“œLaurenz