Commit Graph

1267 Commits

Author SHA1 Message Date
Laurenz 778aa4e7df Mutable field access 2022-05-09 00:11:03 +02:00
Laurenz 1927cc86da Set, show, wrap in code blocks 2022-05-09 00:03:57 +02:00
Laurenz bfaf5447a7 Cast content from string 2022-05-06 10:05:11 +02:00
Martin Haug 49b8574b8d Fix CFF font bug 2022-05-07 17:23:44 +02:00
Laurenz 15ef72cca4 Fix empty heading 2022-05-04 23:34:02 +02:00
Laurenz 1bca9ccecb Improve diagnostics 2022-05-04 23:26:15 +02:00
Laurenz 2a45650dcc Keyed pairs 2022-05-04 23:12:31 +02:00
Laurenz e674fd7e90 New raw theme & nicer debug representation 2022-05-04 22:14:57 +02:00
Laurenz 75472fee1a Division for lengths 2022-05-04 22:14:51 +02:00
Laurenz ba5622b7b9 Move smallcaps into separate function 2022-05-04 13:21:31 +02:00
Laurenz 507c5fc925 Text replacement show rules 2022-05-04 00:14:31 +02:00
Laurenz e18a896a93 Test recursive show rules 2022-05-03 16:43:44 +02:00
Laurenz d59109e8ff Support recursive show rules 2022-05-03 15:58:15 +02:00
Laurenz f77f1f61bf Split up style module 2022-04-30 16:47:43 +02:00
Martin Haug 51d0de09c6 Code Review: Relax, it's much worse than you think 2022-05-03 23:43:56 +02:00
Martin Haug 6a8a0ec6ec Code Review: Heap is Stack. Unsafe is Good.
Spaghetti Code is Style.
2022-05-03 12:59:41 +02:00
Martin Haug 33213abe7d New page margins API 2022-05-02 18:48:32 +02:00
Martin Haug 9b4397cdab Tests for the new shape API 2022-05-02 18:25:53 +02:00
Martin Haug f07395f9a4 Move rounding logic out of exporters 2022-05-02 17:20:47 +02:00
Martin Haug 7b6f3a0ab9 A new `Cast` implementation for `Sides`
Reinstate circle
2022-05-02 16:35:11 +02:00
Martin Haug 84a4961a5d Outset; fix folding 2022-05-01 14:56:07 +02:00
Martin Haug 5f1499d380 Add round corners and change arguments 2022-05-01 11:50:34 +02:00
Laurenz f9e115daf5 New block spacing model 2022-04-30 14:12:28 +02:00
Laurenz f7c67cde72 New document & flow building 2022-04-26 13:26:31 +02:00
Laurenz 09aabc3a21 Public style entry enum 2022-04-25 15:50:13 +02:00
Martin Haug 649c101f07 Add blind text function 2022-04-25 14:20:47 +02:00
Laurenz 7163b4a6c5 Soft pagebreak 2022-04-24 21:58:45 +02:00
Laurenz 2f33ad0e0a Rename soft linebreak to justified linebreak 2022-04-24 21:38:23 +02:00
Laurenz 2791f59ce2 Clean up the parser a bit 2022-04-24 18:00:36 +02:00
Laurenz 89927d7de0 `StyleSlot`, `KeyId` and `NodeId` 2022-04-24 16:42:19 +02:00
Laurenz 8fbb11fc05 Extract `model` module 2022-04-24 15:47:42 +02:00
Laurenz e4ee14e54f Extract methods into separate module 2022-04-24 15:27:06 +02:00
Laurenz 50e4002a2a Split `show` into `realize` and `finalize` 2022-04-24 14:53:43 +02:00
Laurenz 04fb8b288a Show rules with type ascribed object 2022-04-23 21:55:58 +02:00
Laurenz 7a2cc3e7d2 Field access 2022-04-19 16:37:16 +02:00
Laurenz 255d4c620f Automatic frame merging 2022-04-19 13:54:04 +02:00
Laurenz f27f7a05ab Tidy paragraph layout 2022-04-18 13:10:40 +02:00
Laurenz a302105b9f Fix duplicate RTL text and alignment + fr bugs 2022-04-18 12:37:22 +02:00
Laurenz db820ae9aa Repeat function 2022-04-17 12:11:00 +02:00
Laurenz 4494b443bb Ellipsis 2022-04-16 23:06:47 +02:00
Laurenz c5b3f8ee98 Switch to `unscanny` 2022-04-16 22:23:57 +02:00
Laurenz 2db4b603db Fix bug with enums starting at zero 2022-04-14 13:24:48 +02:00
Laurenz b274155c6d Improve language and add region controls 2022-04-13 16:01:24 +02:00
Laurenz d025854457 Make language non-optional with english as default 2022-04-13 15:01:19 +02:00
Laurenz 67e9313b91 Soft breaks and shy hyphens 2022-04-13 14:48:19 +02:00
Laurenz 2279c26543 Smart quotes
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-04-13 13:08:46 +02:00
Laurenz e8dd842c66 Fix bug with basically empty paragraph 2022-04-13 11:59:05 +02:00
Laurenz f7875032b7 Small highlighting improvement 2022-04-13 11:34:44 +02:00
Laurenz 002b6c5b3e Don't hang quotes 2022-04-13 11:24:42 +02:00
Martin Haug 072543fc59 Introduce `NodeKind::Quote` 2022-04-12 22:35:04 +02:00
Laurenz c3a387b8f7 Segment by script 2022-04-12 22:23:08 +02:00
Laurenz 56968bc0d6 Merge text runs during paragraph layout 2022-04-12 17:49:22 +02:00
Laurenz 1101a8370f Negative array indexing 2022-04-11 16:30:34 +02:00
Laurenz cd62792c0a Prevent duplicate named arguments and dictionary keys 2022-04-11 16:11:16 +02:00
Laurenz 938b0af889 Spreading into arrays and dictionaries 2022-04-11 15:52:57 +02:00
Laurenz 790bd536eb Fix incremental bugs
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-04-11 15:39:32 +02:00
Laurenz 3cc026cf39 Reorder blocks 2022-04-11 18:08:40 +02:00
Laurenz 029b87b0a9 Less style chains lookups during paragraph layout 2022-04-10 23:24:09 +02:00
Laurenz 34fa8df044 Move language-related properties from `par` to `text`
Closes #67
2022-04-10 23:36:36 +02:00
Laurenz 29eb13ca62 Sum color and length into stroke 2022-04-09 12:02:35 +02:00
Laurenz 712c00ecb7 Em units 2022-04-08 15:45:14 +02:00
Laurenz 977ac77e6a Start & end alignment 2022-04-08 15:01:55 +02:00
Laurenz e1d7edb7c1 Property resolving 2022-04-08 14:48:02 +02:00
Laurenz 4bb6240b40 Make `Relative` generic 2022-04-07 18:04:29 +02:00
Laurenz 1192132dc0 Rename length-related types
`Fractional` => `Fraction`
`Relative` => `Ratio`
`Linear` => `Relative`
2022-04-07 16:19:51 +02:00
Laurenz eb22eed31b Make chinese justification less bad 2022-04-07 12:51:03 +02:00
Laurenz 3d52387eea Rework style chains 2022-04-07 11:07:00 +02:00
Laurenz 20b4d590b3 Fix wrong `search_range` computation 2022-04-05 17:03:24 +02:00
Laurenz b8233a9e01 Don't allow empty lists and enums 2022-04-05 15:10:15 +02:00
Laurenz b865accae6 Don't allow headings to span multiple lines 2022-04-05 15:04:31 +02:00
Laurenz 2eacfcfa81 Fix typo 2022-04-05 14:42:36 +02:00
Laurenz 23d108c8e0 Font fallback 2022-04-03 13:55:58 +02:00
Laurenz beca01c826 Methods 2022-03-18 23:43:58 +01:00
Laurenz 77d153d315 Add `in` and `not in` operators 2022-03-15 15:27:36 +01:00
Laurenz ae0a56cdff Non-returning error macro 2022-03-15 11:30:13 +01:00
Martin Haug 6f5b721fe5 CR: I'm gonna make him a refactor he can't refuse 2022-03-17 10:50:51 +01:00
Martin Haug 4d617bcd67 `LineNode` 2022-03-16 12:36:50 +01:00
Laurenz 288a926fea Knuth-Plass and MicroType 2022-03-14 20:52:32 +01:00
Laurenz 9c7067bce3 Refactor paragraph layout 2022-03-13 12:47:51 +01:00
Laurenz 2890a156d2 Remove classes and improve naming 2022-03-12 14:24:24 +01:00
Laurenz 5ac7eb3860 Rename template to content 2022-03-11 23:36:06 +01:00
Laurenz 5ce2a006b6 Consistent block naming 2022-03-11 12:22:27 +01:00
Laurenz e6b532391d More restructuring 2022-03-11 11:58:56 +01:00
Laurenz b71113d37a Hyphenation 2022-03-08 19:49:26 +01:00
Laurenz d24c7030d8 Allow access to numbering for unordered lists 2022-03-08 19:49:22 +01:00
Laurenz 3ca5b23823 Reorganize library 2022-02-28 23:54:34 +01:00
Martin Haug 4f09233bda Enable join collection for control flow constructs 2022-02-28 15:41:38 +01:00
Martin Haug 9fde38a6f8 CR: I've a feeling we're not in Review anymore. 2022-02-28 14:22:49 +01:00
Martin Haug 8e0f5993f1 Make loops and functions react to control flow 2022-02-28 13:41:15 +01:00
Martin Haug d007788db8 Introduce `EvalResult` for control flow 2022-02-28 13:18:29 +01:00
Laurenz 4f85fc3acd Remove dependency on itertools 2022-02-26 00:13:44 +01:00
Laurenz b0f4b13f6d Basic justification 2022-02-25 20:48:38 +01:00
Laurenz efde5cac88 Lower and upper on templates 2022-02-24 19:56:01 +01:00
Laurenz ecd2bca606 List above & below 2022-02-24 19:15:49 +01:00
Laurenz 49c0bac44d First-line indents
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-02-24 19:15:11 +01:00
Laurenz 90132b0d65
Merge pull request #64 from typst/new-incr-parse
New Incremental Parser
2022-02-23 23:58:05 +01:00
Martin Haug 9fda623b02 Code Review: That's just like your struct, man. 2022-02-23 20:49:47 +01:00
Laurenz f2f473a81f Query cache 2022-02-23 17:17:00 +01:00
Laurenz e1f29d6cb9 Rework the core context 2022-02-23 14:53:55 +01:00
Martin Haug 4c8634c600 Early stop for falling indents.
Fix code edits and at_start handling.
Also fix dedenting for multi-byte chars in raw blocks.
2022-02-23 14:50:38 +01:00
Martin Haug 20ac96f27a New incremental parsing paradigm
Also move column offset into scanner.

This fixes #62
2022-02-23 13:58:56 +01:00
Laurenz 2bf32c51bc Remove layout cache 2022-02-22 12:42:02 +01:00
Laurenz c7e52f2048 Refactor paragraph layout 2022-02-21 16:47:06 +01:00
Martin Haug aac3afcba8 Remove `Parbreak` as a `NodeKind` 2022-02-21 13:48:21 +01:00
Laurenz 61761604e4 Page style list fix 2022-02-20 23:54:46 +01:00
Laurenz 43556a74aa Fix alphabetic numbering 2022-02-18 17:45:25 +01:00
Laurenz 61d1e1a683 Remove layout-cache feature 2022-02-18 17:33:13 +01:00
Laurenz e01970b20a Basic show rules 2022-02-18 16:57:53 +01:00
Laurenz 05ec0f993b Headers and footers 2022-02-18 01:07:50 +01:00
Laurenz acae6e2a54 List label styling 2022-02-18 01:06:20 +01:00
Laurenz 980f898d55 Automatic list numbering 2022-02-17 23:00:30 +01:00
Laurenz 261f387535 Accept closures for heading styling 2022-02-17 18:12:13 +01:00
Laurenz 35610a8c6a Fallible layout 2022-02-17 17:41:45 +01:00
Laurenz c5e67af22b Merge eval and layout contexts into `Vm` 2022-02-17 17:32:56 +01:00
Laurenz 3d965ae6a4 Change default parameter of `Cast` 2022-02-17 14:31:02 +01:00
Laurenz 17e3353483 Make values sync 2022-02-17 14:09:26 +01:00
Laurenz 91e45458e3 Make values hashable 2022-02-17 12:50:54 +01:00
Laurenz c7a9bac992 Better debug implementations for numeric types 2022-02-17 12:14:50 +01:00
Laurenz ab95627d87 Switch to const generics for nodes 2022-02-17 13:28:04 +01:00
Laurenz 5965515a1e Allow escaping of `-` and `.` 2022-02-10 13:19:03 +01:00
Laurenz 624471db61 Proper error messages for shorthands 2022-02-10 10:29:17 +01:00
Laurenz 6e198bf760 Fix CMYK formatting 2022-02-10 10:05:43 +01:00
Laurenz ed1197a3db Don't try to reload faces over and over 2022-02-10 10:03:39 +01:00
Laurenz 642e149464 Incremental bug fixes
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-02-09 18:15:39 +01:00
Laurenz 5a0e7cc361 Coalesce text and simple spaces for high performance
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-02-09 14:56:12 +01:00
Laurenz e089b6ea40 Set rules for everything 2022-02-09 12:34:19 +01:00
Laurenz 68503b9a07 Redesigned template layout 2022-02-07 20:00:21 +01:00
Laurenz 9730e785a8 Tidy up 2022-02-07 14:19:13 +01:00
Laurenz 5d05c3f68a Refactor and fix style folding 2022-02-05 12:41:42 +01:00
Laurenz 90fb28b4b6 Add `group` in addition to `group_by_key` 2022-02-04 21:32:14 +01:00
Laurenz bdc7127adf Refactor flow, stack and grid layouters a bit 2022-02-03 15:25:47 +01:00
Laurenz f9d3802492 Better debug representation for template 2022-02-03 14:27:20 +01:00
Laurenz 20a1fd8bc7 Remove root node 2022-02-02 20:33:19 +01:00
Laurenz c5e05ac0ea Rename `into_block` to `pack` 2022-02-02 17:17:41 +01:00
Laurenz 88e50a55af Pass arguments to call and construct directly by value 2022-02-02 16:32:30 +01:00
Laurenz d3ccd55d4b Split up styled and sequence template 2022-02-02 16:18:10 +01:00
Laurenz a7b403fd74 Rename `Node` to `Template` 2022-02-02 16:02:23 +01:00
Laurenz 0a1916c1e4 Remove width from backlog and last region 2022-02-02 15:25:43 +01:00
Laurenz bdb1c008f2 Allow set & show only directly in markup 2022-02-02 11:28:31 +01:00
Laurenz 7c33c1e691 Make `Add` for `Node` a bit more efficient 2022-02-02 10:40:33 +01:00
Laurenz a3f151df82 Fix filename 2022-02-02 10:40:26 +01:00
Martin Haug fe70db1f4c New color stuff
- CMYK function
- More default colors
- Interpret RGB values as sRGB
2022-02-08 21:12:09 +01:00
Martin Haug 144c2957e1 Le Rêfectéur 2022-02-04 11:28:39 +01:00
Martin Haug 9a9c6f22c4 Add evasion of glyph shape for under- and overlines 2022-02-04 00:30:23 +01:00
Martin Haug bd0d0e10d8 Harmonize non-negative int arguments 2022-02-03 11:32:16 +01:00
Martin Haug 3f76aadb1a Add modulo 2022-02-03 11:32:16 +01:00
Martin Haug e6a0447f9d Add roman numeral and footnote formatting 2022-02-03 11:32:15 +01:00
Martin Haug e32e9faa53 Fix incremental group bug 2022-02-03 11:31:53 +01:00
Laurenz 6a6753cb69 Better function representation 2022-02-01 12:26:13 +01:00
Laurenz 20b1a38414 Switch from `Rc` to `Arc` 2022-01-31 16:47:00 +01:00
Laurenz fa57d86ed9 Fix another parser bug 2022-01-31 13:57:15 +01:00
Laurenz 8f37189d6f Fix incremental parsing bugs 2022-01-31 13:26:52 +01:00
Laurenz b1a82ae22d Remove `markup_while` 2022-01-31 11:16:31 +01:00
Laurenz 490819a3d0 Reorder succession rules 2022-01-31 11:05:59 +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 aeb036f4dc Fix that templates don't create a scope 2022-01-29 22:32:57 +01:00
Laurenz 44ebefbec2 Add `hide` class 2022-01-29 22:32:01 +01:00
Laurenz 24d513d891 Enable for loop over captured args 2022-01-29 21:36:25 +01:00
Laurenz 3cad6bf607 Allow to add `none` and node 2022-01-29 18:14:51 +01:00
Laurenz 5c53b9ff60 Support for `wrap` 2022-01-28 22:32:53 +01:00
Laurenz 9c906f92c5 Parse `break`, `continue` and `return` expression 2022-01-28 21:01:36 +01:00
Laurenz 3a07603b66 Remove unnecessary group 2022-01-28 20:17:30 +01:00
Laurenz 76b1d4a93f Parse `show` and `wrap` expressions 2022-01-28 20:02:42 +01:00
Laurenz c183ed3c15 Mutex comes from tex and we don't want any 2022-01-27 23:07:10 +01:00
Martin Haug 4f66907d08 Add Code Block syntax highlighting 2022-01-27 22:04:45 +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 36cae88799 Fix table panic 2022-01-18 13:46:56 +01:00
Laurenz cd7630415f Don't do font fallback for unshapable newlines 2022-01-17 16:48:16 +01:00
Laurenz 0c5243fa80 Basic tables 2022-01-17 16:01:01 +01:00
Laurenz 4abdafcd15 Faster byte/utf-16 offset conversions 2022-01-13 19:55:32 +01:00
Laurenz b3062ee880 Make use of new Rust 1.58 formatting feature 2022-01-13 18:43:18 +01:00
Laurenz 8013a0d0e6 More heading configuration 2022-01-13 14:14:34 +01:00
Laurenz c7f52ed048 Add `even` and `odd` functions 2022-01-13 14:14:00 +01:00
Laurenz e74ae6ce70 Make all nodes into classes 2022-01-08 00:20:48 +01:00
Laurenz 0b62439090 Scoped styles 2022-01-07 13:26:51 +01:00
Laurenz af014cfe5e Tidy up styling 2022-01-07 10:46:55 +01:00
Laurenz 5fd9c0b0d7 Lift styles out of individual nodes 2022-01-05 23:55:06 +01:00
Laurenz f7e8624b4c Refactor 2022-01-05 15:06:42 +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
Martin Haug 289122e83c Deal with offside rule and remove RightWhitespace 2021-11-29 12:06:41 +01:00
Laurenz 12f7335ac3 Clarity and bugfix
Fixes a bug where validation would wrongly reject an atomic primary reparse due to trailing whitespace.

Co-Authored-By: Martin <mhaug@live.de>
2021-11-28 22:32:20 +01:00
Martin Haug e05eb5fda5 Code Review: Parser, I can't let you do this 2021-11-28 18:18:45 +01:00
Martin Haug edc686d738 Make incremental parsing simpler and move it somewhere else 2021-11-27 16:10:22 +01:00
Martin Haug fdb9d0743d Refactoring and bugfixes 2021-11-18 16:21:45 +01:00
Martin Haug 3162c6a83a Comments and neighbors 2021-11-10 20:41:10 +01:00
Martin Haug 91f2f97572 Multiple replacements, escapes 2021-11-09 13:34:23 +01:00
Martin Haug 7a631d8b09 Simplify node mode management 2021-11-09 13:07:55 +01:00
Martin Haug 9141cba6a9 Deal with the effects of keywords 2021-11-08 12:01:35 +01:00
Martin Haug 0663758fbb Tests
- length updates
- dealing with keywords and comments
2021-11-07 19:43:01 +01:00
Martin Haug eba7fc34ef Incremental-safety based approach 2021-11-06 16:07:21 +01:00
Martin Haug 7016ab0d12 Make stuff more elegant 2021-11-03 11:03:00 +01:00
Martin Haug 1e4cab393e Introduce incremental parsing 2021-11-02 12:06:22 +01:00
Laurenz 179a9f4798 Clarifications and small improvements 2021-12-30 17:02:19 +01:00
Laurenz f174134aa2 Style chains 2021-12-30 12:12:19 +01:00
Laurenz f5dcb84e36 Make clippy a bit happier 2021-12-30 12:00:12 +01:00
Laurenz bd304b99e5 Tidying 2021-12-28 13:41:26 +01:00
Martin Haug 7f7e14d95f Minor changes to columns 2021-12-28 00:23:42 +01:00
Martin Haug 37328f11ed Adjust column size and expansion handling 2021-12-27 19:01:36 +01:00
Martin Haug accf70949d Make column child frames expand horizontally 2021-12-27 14:04:25 +01:00
Martin Haug ee12bf6716 Iterate over target regions instead in columns loop 2021-12-27 13:41:57 +01:00
Martin 7efdcdf247 Apply simple suggestions from code review
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-27 12:33:53 +01:00
Martin Haug b22ce6f8b8 Introduce equal-width columns 2021-12-26 15:59:24 +01:00
Laurenz 438255519e Review One: A Set Rules Story 2021-12-22 19:19:32 +01:00
Laurenz 11565a40b3 Set Rules Episode IX: The Rise of Testing 2021-12-21 00:20:24 +01:00
Laurenz 958f74f777 Set Rules Episode VIII: The First Macro 2021-12-16 14:43:02 +01:00
Laurenz 2a3d0f4b39 Set Rules Episode VII: The Set Awakens 2021-12-15 20:27:41 +01:00
Laurenz 244ad386ec Set Rules Episode VI: Return of the Refactor 2021-12-15 12:49:20 +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 fe21c4d399 Set Rules Episode III: Revenge of the packer 2021-12-09 13:42:52 +01:00
Laurenz 40b87d4066 Set Rules Episode II: Attack of the properties 2021-12-07 16:36:39 +01:00
Laurenz 26bdc1f0f6 Set Rules Episode I: The Phantom Style 2021-12-05 12:54:03 +01:00
Martin Haug 738ff7e1f5 Reduce the size of the `FramesEntry` struct and bump edition 2021-12-13 15:56:14 +01:00
Martin Haug 7c829c5c1b Bump pdf-writer, svg2pdf and error messages
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-07 00:06:54 +01:00
Martin Haug f15ee7efb6 Add SVG capabilities 2021-12-06 14:58:57 +01:00
Laurenz 2982020480 Bump pdf-writer 2021-12-04 21:55:23 +01:00
Martin Haug d971ac9a8c Add a producer info for the PDF 2021-12-02 17:24:52 +01:00
Laurenz bfa9962632 Remove baseline weirdness 2021-12-02 14:48:12 +01:00
Laurenz f3bdc9d3da Syntax highlighting 2021-11-30 18:55:50 +01:00
Laurenz e4e4c1876f Fix square and circle width & height 2021-11-29 16:13:53 +01:00
Laurenz 67705e2038 Fix vertical image expansion 2021-11-29 15:09:29 +01:00
Laurenz cae60ea0cc Go back to wrapping inline nodes 2021-11-29 13:12:50 +01:00
Laurenz e36b8ed374 Layout bugfixes 2021-11-29 12:06:38 +01:00
Laurenz 50bd863471 More independent placed node 2021-11-26 23:51:18 +01:00
Laurenz 3a15922d2f X/Y abstractions 2021-11-26 16:32:06 +01:00
Laurenz 393d74f9bb Layout improvements 2021-11-25 20:51:16 +01:00
Laurenz 304d9dd110 Small style changes 2021-11-24 17:00:10 +01:00
Laurenz 8a88f71cb1 Transformations 2021-11-23 22:04:08 +01:00
Laurenz c77c5a0f0a Simpler alignment resolving 2021-11-23 14:25:50 +01:00
Laurenz 4f9e5819bb 2d alignments with plus operator 2021-11-23 12:45:20 +01:00
Laurenz d3f6040ced Horizon alignment 2021-11-23 11:58:16 +01:00
Laurenz 02f114d072 Remove decorum 2021-11-22 15:50:35 +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 5a59bb4821 Page fill 2021-11-18 12:50:28 +01:00
Laurenz b2e6a29789 Refactoring 2021-11-18 00:58:32 +01:00
Laurenz d9c529347d Configurable paragraph alignment 2021-11-17 23:54:43 +01:00
Laurenz 095fa52be5 Placed node 2021-11-17 23:09:23 +01:00
Laurenz e869c899bc More intuitive auto image sizing in grid 2021-11-17 22:29:23 +01:00
Laurenz 89f2e71852 Align node 2021-11-17 17:09:19 +01:00
Laurenz 9a800daa82 Image fit modes 2021-11-16 21:32:29 +01:00
Laurenz 0cdf17216f Abstraction for fr resolving 2021-11-16 18:15:47 +01:00
Laurenz 79638d4bbd Don't wrap already layoutable nodes into flows/pars unnecessarily 2021-11-16 12:47:14 +01:00
Laurenz 73c4701749 Introduce `SizedNode` 2021-11-16 11:40:42 +01:00
Laurenz 0e0f340502 Revert page and inline levels 2021-11-16 10:41:30 +01:00
Laurenz bc118634ac Remove alignment from stack 2021-11-16 10:22:46 +01:00
Laurenz 210c4d9373 Move `lang` functionality into `par` 2021-11-16 00:37:33 +01:00
Laurenz 370802de13 Simplify `FlowNode` a bit 2021-11-16 00:32:41 +01:00
Laurenz 972c940e07 Introduce `FlowNode` 2021-11-16 00:12:43 +01:00
Martin Haug bcde4a3e51 Fix a grid constraint 2021-11-27 15:05:26 +01:00
Martin Haug 5677766715 Fix some comments 2021-11-24 20:07:44 +01:00
Laurenz 0ad0fa5a05 RTL tracking test 2021-11-20 13:26:28 +01:00
Martin Haug c020707ebc Add tracking to font function 2021-11-20 12:36:03 +01:00
Laurenz 63c274e7f6 Make clippy happier and remove `Str` 2021-11-15 17:06:43 +01:00
Laurenz 8a38899c98 Tidying 2021-11-14 15:06:34 +01:00
Laurenz 14048937b8 Search for fonts in the project directory 2021-11-14 13:13:27 +01:00
Laurenz 38c5c36241 Final touches 2021-11-08 13:06:11 +01:00
Laurenz 75fffc1f9b Fine-grained capturing 2021-11-08 11:52:09 +01:00
Laurenz 95866d5fc9 Tidy up AST 2021-11-08 01:37:49 +01:00
Laurenz 8117ca9950 Deduplicate trivia search 2021-11-06 15:49:39 +01:00
Laurenz 41bdafb578 Faster parser 2021-11-06 15:49:39 +01:00
Laurenz 515fe89c5e Style changes
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:42 +01:00
Martin Haug cf2e527a02 Code Review: No Patrick, question marks are not an instrument 2021-11-05 13:46:41 +01:00
Martin Haug 5c952d56d0 New error handling 2021-11-05 13:46:41 +01:00
Laurenz f0c9635db5 Notes 2021-11-05 13:46:41 +01:00
Laurenz 65fac0e57c Refactoring
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:41 +01:00
Martin Haug 42afb27cef Add documentation 2021-11-05 13:44:50 +01:00
Martin Haug 49fb3cd4e2 Code Review: Life is Like a Box of Iterators 2021-11-05 13:44:50 +01:00
Martin Haug 7d34a548cc Reorganize syntax module 2021-11-05 13:44:50 +01:00
Martin Haug 2e7d359e59 Unicode escape error moved to tokenizer 2021-11-05 13:44:49 +01:00
Martin Haug c569e14c07 Improve error handling 2021-11-05 13:44:49 +01:00
Martin Haug 1c0ac793d2 Slim `NodeKind` memory footprint 2021-11-05 13:44:49 +01:00
Martin Haug 84d35efee3 Less owning, more iterating 2021-11-05 13:44:49 +01:00
Martin Haug 4875633acf Change parser 2021-11-05 13:44:49 +01:00
Laurenz ea6ee3f667 Fix page breaks in lists and enums 2021-11-02 10:42:32 +01:00
Laurenz c4a87e5e7c Number style -> type 2021-11-02 10:39:45 +01:00
Laurenz 072e7c710c Reduce namespace pollution 2021-11-02 10:39:45 +01:00
Martin Haug 8ccb7d6f15 Smallcaps, sub- and superscript, ligature ctrls... 2021-11-02 10:39:45 +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 feff013abb More useful `Spec` helpers 2021-10-31 14:40:15 +01:00
Laurenz 564cb7e989 Fix panic in pad node 2021-10-31 13:51:28 +01:00
Laurenz 4645d1a517 Switch to borrowed strings in `split_lines` 2021-10-29 16:36:09 +02:00
Laurenz 1af194f383 Dedent code blocks 2021-10-29 16:26:47 +02:00
Laurenz de6786eb28 Allow multiple template bodies 2021-10-29 16:04:55 +02:00
Laurenz d1ecb7e52e Add `move` function 2021-10-28 16:51:57 +02:00
Laurenz 5c534fb428 Simplify node construction 2021-10-26 17:14:11 +02:00
Laurenz fb0cd3df6e Fr in stack and par 2021-10-26 14:56:10 +02:00
Laurenz 1ca4ff69e2 Trim `mailto:` and `tel:` from links 2021-10-26 14:51:57 +02:00
Laurenz 3968181622 Replace `..` syntax with `range` function 2021-10-25 13:38:32 +02:00
Laurenz adf52a873f Drop `iso-` prefix for A papers 2021-10-23 22:52:40 +02:00
Laurenz b42ecbd6a6 Simplify decorations 2021-10-23 20:24:35 +02:00
Laurenz 5becb32ba4 Introduce page / block / inline levels 2021-10-23 20:23:47 +02:00
Laurenz c627847cb3 Remove directions from grid 2021-10-23 20:22:47 +02:00
Laurenz 6690bc2354 Revise block node contract
Frames produced by block nodes are now always treated as exactly one per
given region and a frame must not be larger than its respective region.
Any overflow must be handled internally. This means that stack and grid
don't need to search for fitting regions anymore, since the child has
already does that for them. This commit further moves stack spacing into
a new `SpacingNode`.
2021-10-23 20:22:47 +02:00
Laurenz 1e74f7c407 New `ShapeNode`
Replaces `BackgroundNode` and `FixedNode`
2021-10-23 20:22:47 +02:00