149 Commits

Author SHA1 Message Date
Martin Haug
fe70db1f4c New color stuff
- CMYK function
- More default colors
- Interpret RGB values as sRGB
2022-02-08 21:12:09 +01:00
Laurenz
20b1a38414 Switch from Rc to Arc 2022-01-31 16:47:00 +01:00
Laurenz
8f37189d6f Fix incremental parsing bugs 2022-01-31 13:26:52 +01:00
Laurenz
8d1ce390e2 Rework strong and emph
- Star and underscore not parsed as strong/emph inside of words
- Stars/underscores must be balanced and they cannot go over paragraph break
- New `strong` and `emph` classes
2022-01-30 22:46:59 +01:00
Laurenz
d7072f378f Also debug print syntax tree 2022-01-30 11:16:57 +01:00
Laurenz
3739ab7720 Export into rendered images 2022-01-24 17:39:49 +01:00
Laurenz
db158719d6 Simplify CLI 2022-01-24 16:44:52 +01:00
Laurenz
b3062ee880 Make use of new Rust 1.58 formatting feature 2022-01-13 18:43:18 +01:00
Martin Haug
c994cfa7d8 Code Review: Your parsers were so preoccupied with whether they could 2022-01-04 00:21:33 +01:00
Martin Haug
98c96ba1cb Fix parser / space / error bug 2022-01-02 14:46:08 +01:00
Martin Haug
5f114e18eb Added a test framework for incremental parsing
Fix several errors:

- Indented markup is now reparsed right
- All end group errors will now fail a reparse
- Rightmost errors will always fail a reparse
2022-01-02 00:46:19 +01:00
Laurenz
f174134aa2 Style chains 2021-12-30 12:12:19 +01:00
Laurenz
5d5d8a21cf Bump and lock dependencies 2022-01-01 12:23:00 +01:00
Laurenz
11565a40b3 Set Rules Episode IX: The Rise of Testing 2021-12-21 00:20:24 +01:00
Laurenz
57f5c0a1b1 Set Rules Episode V: The Tests Strike Back 2021-12-15 11:12:38 +01:00
Laurenz
ae38be9097 Set Rules Episode IV: A New Fold 2021-12-15 11:11:57 +01:00
Laurenz
40b87d4066 Set Rules Episode II: Attack of the properties 2021-12-07 16:36:39 +01:00
Martin Haug
f15ee7efb6 Add SVG capabilities 2021-12-06 14:58:57 +01:00
Laurenz
e915cc4ef0 No more duplicate debug prints due to incremental tests 2021-11-29 23:22:53 +01:00
Laurenz
3a15922d2f X/Y abstractions 2021-11-26 16:32:06 +01:00
Laurenz
8a88f71cb1 Transformations 2021-11-23 22:04:08 +01:00
Laurenz
0a974d86ba Welcome to Tigerland 2021-11-22 15:26:56 +01:00
Laurenz
ed50661378 Castable optional and smart values 2021-11-29 16:47:35 +01:00
Laurenz
cef46e6c40 Strokes 2021-11-20 15:51:07 +01:00
Laurenz
70c0dd7674 Small fixes 2021-11-19 13:16:43 +01:00
Laurenz
9a800daa82 Image fit modes 2021-11-16 21:32:29 +01:00
Laurenz
0e0f340502 Revert page and inline levels 2021-11-16 10:41:30 +01:00
Laurenz
65fac0e57c Refactoring
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:41 +01:00
Laurenz
5b344b663a Reorganize modules
Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories.
2021-10-31 15:52:35 +01:00
Laurenz
5becb32ba4 Introduce page / block / inline levels 2021-10-23 20:23:47 +02:00
Laurenz
9ac125dea8 Rename State to Style and move it into its own module 2021-10-10 21:04:10 +02:00
Laurenz
d4cc8c775d Move paint and colors into geom 2021-10-10 20:26:58 +02:00
Laurenz
2818ceee44 New default fonts 2021-09-30 22:50:14 +02:00
Laurenz
ff37a2893d More useful incremental checks
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:40:28 +02:00
Laurenz
7f48e8fe66 Make user-facing "debug" representation use Debug instead of Display 2021-08-31 16:25:12 +02:00
Laurenz
fab8bedd29 Primitive raster glyph drawing 2021-08-27 14:08:32 +02:00
Martin
d546453880
Links! (#43)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-08-23 23:56:33 +02:00
Laurenz
0806af4aec Kerned PDF output 2021-08-23 13:21:44 +02:00
Laurenz
c0377de653 Shorter/clearer field name for geometry types
Size { width, height } => Size { w, h }
Spec { horizontal, vertical } => Spec { x, y }
Gen { cross, main } => Gen { inline, block }
2021-08-21 19:08:47 +02:00
Laurenz
0dd4ae0a7a Prune derives 2021-08-21 17:30:21 +02:00
Martin
fdab7158c9
Pattern properties (#42)
Included in this package are:
* Code review I: The unnamed review.
* Code Review II: How I met your review.
* Code Review III: Code, the final frontier. These are the voyages of the USS Review ...
2021-08-19 15:07:11 +02:00
Laurenz
594809e35b Library functions behave more imperatively
- Templates scope state changes
- State-modifying function operate in place instead of returning a template
- Internal template representation contains actual owned nodes instead of a pointer to a syntax tree + an expression map
- No more wide calls
2021-08-17 22:20:37 +02:00
Laurenz
144f208821 Add file information to spans 2021-08-13 14:33:58 +02:00
Laurenz
eaa3cbaa9c Array and dictionary indexing 2021-08-12 13:56:23 +02:00
Laurenz
3932bb2cb9 New source loading architecture 2021-08-09 11:26:41 +02:00
Laurenz
3c92bad9a7 Pretty-printed diagnostics with traceback 2021-08-01 00:00:36 +02:00
Laurenz
1ee1d078e2 Fatal errors
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free
- Parsing still recovers and can produce multiple errors
- Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import)
- The single error that could occur during execution is removed for now
- Removes Value::Error variant
2021-07-30 18:49:19 +02:00
Laurenz
2c6127dea6 Refactor state 2021-07-29 13:28:19 +02:00
Laurenz
7aa3d2c2d6 No more excessive region cloning 2021-07-26 00:29:37 +02:00
Laurenz
56cbf96fe2 Move incremental test into separate function 2021-07-26 00:08:08 +02:00