Commit Graph

1503 Commits

Author SHA1 Message Date
Laurenz ba384e5bb6 Fix set rule autocomplete filter 2022-12-17 18:12:08 +01:00
Laurenz 35b16e545b Document parameters in comment 2022-12-17 16:24:29 +01:00
Laurenz b6202b646a Reflection for castables 2022-12-15 23:11:20 +01:00
Laurenz f3980c7045 Basic autocompletion 2022-12-14 10:10:26 +01:00
Laurenz 0c7fb7d30f Hover tooltips 2022-12-14 10:10:07 +01:00
Laurenz 9ba4d2c134 New macro setup 2022-12-14 10:09:44 +01:00
Laurenz 4c73456fc1 Move highlighting into new IDE module 2022-12-14 10:02:19 +01:00
Laurenz 2470df05af Linked syntax node 2022-12-14 09:57:52 +01:00
Laurenz ad66fbdfa2 Detect infinite loops 2022-12-14 09:56:24 +01:00
Laurenz 2271d67f8f Faster image rendering 2022-12-12 10:35:42 +01:00
Laurenz c38d55614a A few math fixes 2022-12-09 21:22:23 +01:00
Laurenz cd089b6194 Align set rule 2022-12-09 10:21:11 +01:00
Laurenz 11c7ceb29e Extend math library 2022-12-07 14:01:20 +01:00
Laurenz 5a0053c729 Vectors and cases 2022-12-07 11:30:17 +01:00
Laurenz b2572f9d48 Math shorthands 2022-12-06 15:37:17 +01:00
Laurenz 3ecb0c754b More math syntax 2022-12-06 12:37:08 +01:00
Laurenz c2e458a133 Symbol notation 2022-12-05 12:25:37 +01:00
Laurenz 1d324235bd Make show rule fallible again 2022-12-05 12:21:10 +01:00
Laurenz 1bb05677fa Small improvements 2022-12-05 10:59:00 +01:00
Laurenz f57ce86431 Heading numbering and outline 2022-12-02 15:53:01 +01:00
Laurenz 56923ee472 Multi-part numbering patterns 2022-12-02 15:47:25 +01:00
Laurenz 9bc90c371f Introspection 2022-12-02 15:45:18 +01:00
Laurenz 5110a41de1 Introduce virtual typesetter 2022-12-02 13:21:36 +01:00
Laurenz 33ab1fdbdd Fix closure capturing bug with for loops 2022-12-02 13:08:06 +01:00
Laurenz e1e93938a1 Memoize image size computation 2022-11-30 14:52:18 +01:00
Laurenz 579dac3c91 Strong delta 2022-11-29 14:57:05 +01:00
Laurenz 0efe669278 Reorganize library and tests 2022-11-29 14:18:13 +01:00
Laurenz 836692e73c Widow and orphan prevention 2022-11-28 17:57:16 +01:00
Laurenz 989d170dc7 Fragments 2022-11-28 12:40:16 +01:00
Laurenz 7caf98fe42 Switch `StrResult` to `EcoString` 2022-11-27 01:00:57 +01:00
Laurenz 6bafc63910 Document metadata 2022-11-26 23:52:01 +01:00
Laurenz 0579fd4409 Reorganize library base 2022-11-26 17:13:31 +01:00
Laurenz 9db6e533cd Make content a bit more compact 2022-11-26 15:34:02 +01:00
Laurenz 36490f7f7b Make text and space nodes unselectable 2022-11-26 15:09:03 +01:00
Laurenz 7af46fc025 Dynamic labels 2022-11-26 13:41:27 +01:00
Laurenz 3cdd8bfa40 Extract numbering pattern from list node 2022-11-26 12:51:15 +01:00
Laurenz bf5edbbbbb Tidy up 2022-11-25 12:16:13 +01:00
Laurenz 96f72eee6c Separate typesetting and compilation 2022-11-24 17:51:07 +01:00
Laurenz 8d3c68a1de Protect Vm 2022-11-24 17:41:41 +01:00
Laurenz 5ae81971f2 Introduce `Library` 2022-11-23 16:07:54 +01:00
Laurenz b2a3d3f235 More general evaluation interface 2022-11-23 12:00:06 +01:00
Laurenz c2749f7615 More sensible `LayoutRoot` 2022-11-22 21:09:20 +01:00
Laurenz 5992f11b4c Reorganize content type 2022-11-22 20:12:37 +01:00
Laurenz b476de87b7 Rename two syntax types 2022-11-22 14:53:03 +01:00
Laurenz 2ce727fc95 Make inner node and node data private 2022-11-22 14:40:56 +01:00
Laurenz dd9c323941 Show with set 2022-11-21 17:12:16 +01:00
Laurenz c28d2130dd Don't display functions 2022-11-21 17:11:40 +01:00
Laurenz 1d7e082d1d Labels 2022-11-21 16:12:24 +01:00
Laurenz 36ea0b05c9 Refactor proc macros 2022-11-21 14:00:37 +01:00
Laurenz 7c7b830225 Retain text spans during regex matching 2022-11-21 10:48:19 +01:00
Laurenz ddada45097 Tracepoints for show rules 2022-11-20 23:32:30 +01:00
Laurenz 46d469f4be Ignore linebreak directly after markup statement 2022-11-20 21:40:08 +01:00
Laurenz 565b1977ae Rename `RawKind` to `RawFields` 2022-11-19 23:12:23 +01:00
Laurenz 1937d746ab Show everything! 2022-11-19 22:40:42 +01:00
Laurenz 9b8c1dc19f Pass text node to text show rule instead of string 2022-11-18 14:31:51 +01:00
Laurenz 92f2c56203 Reorganize style module 2022-11-18 12:49:27 +01:00
Laurenz c3895cbd66 Remove `Target` enum 2022-11-18 11:23:56 +01:00
Laurenz ddb617390c Simplify layout_inline's signature 2022-11-17 23:04:02 +01:00
Laurenz d9ce194fe7 Remove role applications 2022-11-09 22:49:25 +01:00
Laurenz 010cc2effc New block spacing model 2022-11-09 18:20:02 +01:00
Laurenz 12a59963b0 Reduce style chain bloat 2022-11-08 16:37:07 +01:00
Laurenz 0a41844cc4 Selectors 2022-11-07 14:43:13 +01:00
Laurenz efd1853d06 Show it!
- New show rule syntax
- Set if syntax
- Removed wrap syntax
2022-11-07 12:46:05 +01:00
Laurenz eb951c008b Style changes 2022-11-04 11:38:09 +01:00
Laurenz 37a7afddfa Split crates 2022-11-03 13:35:39 +01:00
Laurenz 56342bd972 Move layout traits into library 2022-11-02 14:48:51 +01:00
Laurenz 37ac5d966e More dynamic content representation 2022-11-02 09:18:33 +01:00
Laurenz f547c97072 Reduce usage of `finalize` 2022-10-31 15:47:49 +01:00
Laurenz 671ce3dedd Replace `encode` with `field` 2022-10-31 13:49:10 +01:00
Laurenz 636bdb9e43 Rename `RoleMap` to `LangItems` 2022-10-31 09:11:56 +01:00
Laurenz 237feda063 Remove semantic role handling 2022-10-31 09:05:50 +01:00
Laurenz 66ad023519 Split up some files 2022-10-31 08:57:44 +01:00
Laurenz 95e9134a3c Refactor `geom` module 2022-10-28 16:43:38 +02:00
Laurenz 66030ae5d7 Small fixes 2022-10-27 15:56:03 +02:00
Laurenz c0e972b91a Reduce dependencies from compiler on library 2022-10-18 00:04:12 +02:00
Laurenz e218226655 Merge some modules 2022-10-17 20:04:22 +02:00
Laurenz 4fd031a256 More spans in AST 2022-10-17 17:11:01 +02:00
Laurenz 86990d2287 Also hash syntax tree in source 2022-10-14 13:25:49 +02:00
Laurenz 0a0feb75fe Add `NotSource` variant to `FileError` 2022-10-05 13:20:46 +02:00
Laurenz fd8160f374 Remove `SpanPos` in favor of `ErrorPos` 2022-10-05 13:15:02 +02:00
Laurenz ec884ec1d8 Refactor syntax module 2022-10-05 12:49:39 +02:00
Laurenz 5a8534a395 Parse basic math syntax 2022-10-04 13:45:16 +02:00
Laurenz 7ef6cb31df Bump ttf-parser 2022-09-30 11:23:09 +02:00
Laurenz 9db89b376d Refresh TextMate grammar 2022-09-27 16:40:17 +02:00
Laurenz abafb39041 Fix bad list interaction
Fixes #87
2022-09-26 16:25:40 +02:00
Laurenz 704f2fbaf1 Description lists, link syntax, and new enum syntax 2022-09-26 16:12:57 +02:00
Laurenz 2661f1a506 Round to nearest `u8` instead of flooring 2022-09-25 21:46:54 +02:00
Martin Haug 680cc9aa93 Do not upset Acrobat 2022-09-25 21:37:22 +02:00
Martin Haug b14274d1e4 Methods to modify colors 2022-09-25 20:04:33 +02:00
Laurenz f6adc45638 XML reading 2022-09-25 18:20:39 +02:00
Laurenz fffb55f79a JSON reading 2022-09-25 17:37:16 +02:00
Laurenz ddd3b6a82b Tracked memoization 2022-09-21 20:25:57 +02:00
Laurenz 3760748fdd Refactor error handling 2022-09-20 19:49:47 +02:00
Laurenz 757a701c1a A New World 2022-09-20 16:37:15 +02:00
Laurenz e29f55bb29 Remove font store 2022-09-19 17:44:40 +02:00
Laurenz 59f67b79c7 Remove image store 2022-09-19 12:49:36 +02:00
Laurenz 30be75c668 Renaming
`Face` -> `Font`
`FaceId` -> `FontId`
`SourceFile` -> `Source`
2022-09-19 11:36:59 +02:00
Laurenz 4ec3bcee48 Remove pins and memoization 2022-09-19 11:16:05 +02:00
Laurenz e5f958b921 Handle line comments nested in block comments
Fixes #76
2022-09-19 11:05:25 +02:00
Laurenz e5615ce02d Fix cost if last line is justified 2022-09-19 10:42:54 +02:00
Laurenz 65c4ee42e7 Underline only Typst headings in code blocks 2022-09-19 10:29:08 +02:00
Laurenz b98004330b Handle non-breaking spaces during justification 2022-09-19 10:28:06 +02:00
Laurenz 0d12f2ab23 [WIP] Label and reference syntax 2022-09-07 11:07:17 +02:00
Laurenz 9362c279de CSV reading 2022-07-27 00:09:15 +02:00
Laurenz fc574b3945 New `Str` type with methods 2022-07-26 23:27:44 +02:00
Laurenz 1e9a5eda48 Rework array methods 2022-07-26 23:24:30 +02:00
Laurenz ef866b0cd1 Move casting into separate module 2022-07-26 23:16:03 +02:00
Laurenz a904976db5 Remove booleans from args parser 2022-06-15 13:26:53 +02:00
Laurenz cbfac6cd45 Fix highlighting bugs 2022-07-26 20:32:50 +02:00
Laurenz 4817c62dfb Split up PDF exporter 2022-06-14 21:36:33 +02:00
Laurenz 7fb19d5ef8 Unified file loading errors 2022-06-14 20:07:27 +02:00
Laurenz 0dacb2d151 Fix error messages on Windows 2022-06-14 18:18:28 +02:00
Laurenz 20b990d297 Anti-aliased image rendering 2022-06-14 17:20:31 +02:00
Laurenz 7a6c2cce77 Make radius configuration unconfusing 2022-06-14 17:17:54 +02:00
Laurenz e03f32ca34 Turn reparsing methods into free functions 2022-06-14 14:03:13 +02:00
Laurenz c81e2a5f56 Many fixes 2022-06-14 13:53:02 +02:00
Laurenz 891af17260 Bump lipsum 2022-06-13 19:44:57 +02:00
Laurenz 2fe549c1ec Fix inline math formula frame size 2022-06-13 14:07:48 +02:00
Laurenz 7660978ee5 Move `Arc` into `Frame` 2022-06-12 20:51:31 +02:00
Laurenz 6e3b1a2c80 Make all fields of `Frame` private 2022-06-12 17:26:18 +02:00
Laurenz ed6550fdb0 Bump dependencies 2022-06-10 23:54:16 +02:00
Laurenz 6aff11057b Non-outlined headings 2022-06-09 13:45:36 +02:00
Laurenz cd5a14bc24
Merge pull request #75 from typst/semantics
Frame Role and PDF outline
2022-06-08 19:31:07 +02:00
Martin Haug 72d3f3fffa CR: Whoever said orange is the new pink was seriously disturbed. 2022-06-08 19:26:20 +02:00
Martin Haug 9dca4c2f78 Preallocate Page Refs 2022-06-08 17:05:07 +02:00
Martin Haug 55dce19f49 Restructure PDF structure writing 2022-06-08 16:36:50 +02:00
Martin Haug 995a7882d2 Auto-detect grid row semantics 2022-06-08 13:11:51 +02:00
Martin Haug 6d8b65c4b2 More consistent role application 2022-06-08 12:30:10 +02:00
Martin Haug 4640585fbd First iteration of outline items 2022-06-04 12:57:45 +02:00
Martin Haug b905048d4b Switch bounded condition, delete `only_at_start` 2022-06-01 19:39:23 +02:00
Martin Haug 91bf1b7f65 Refine `ahead_nontrivia` search
Also reintroduces unsafe layers under another name
2022-06-01 17:58:04 +02:00
Laurenz af10b08cc1 Documentation 2022-06-01 16:51:46 +02:00
Laurenz 94b375ce55 Incremental renumbering 2022-06-01 13:49:02 +02:00
Laurenz c56a8c41f0 Fix that incremental reparsing is impossible at the end
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-06-01 10:30:28 +02:00
Laurenz 0a9172cb15 Enforce and make use of span ordering 2022-05-31 13:19:09 +02:00
Laurenz 9bbebd69dd Numbered spans 2022-05-31 12:37:05 +02:00
Laurenz 08a6188123 Remove green/red distinction 2022-05-31 10:40:30 +02:00
Martin Haug 755d468198 Fix inline nodes and decorations
Also Code Review 👯‍♂️
2022-06-01 11:43:03 +02:00
Martin Haug 4e3036afcb Sub- and superscripts
Fixes to PDF export I guess
Also improved rendition for non-Latin scripts
2022-05-31 22:56:08 +02:00
Laurenz 97858e5992 Basic manual tracking 2022-05-31 10:13:34 +02:00
Laurenz ccb4753e24 Find optionally takes function instead of value 2022-05-30 10:33:51 +02:00
Laurenz 757615dc42 Fix color space definitions 2022-05-30 10:31:05 +02:00
Martin Haug 26a427a321 Fix `FontFile3` dictionary for OpenType-Fonts 2022-05-30 10:28:06 +02:00
Laurenz 90be79dc86 Page background and foreground 2022-05-28 00:26:24 +02:00
Laurenz 1a7ce3da02 Luma color 2022-05-27 16:09:43 +02:00
Laurenz d4e59d4be1 Make justified break work for last line 2022-05-27 15:54:54 +02:00
Laurenz 8ba11b0722 Reword 2022-05-27 16:37:03 +02:00
Laurenz f8009b5b59 Reuse location type 2022-05-27 14:34:27 +02:00
Laurenz 736289b064 Ensure me is always contained in all 2022-05-27 14:20:05 +02:00
Laurenz 9950a69d23 Replay group and value side effects 2022-05-27 09:36:51 +02:00
Laurenz 806d9f0d9a Pure functions! 2022-05-26 17:14:44 +02:00
Laurenz 22214a1e0a Test groups 2022-05-27 14:23:05 +02:00
Laurenz 3e052e6e01 All methods for groups 2022-05-26 14:29:10 +02:00
Laurenz a9869c212f Locatable groups 2022-05-26 13:49:44 +02:00
Laurenz 66d8f4569a Locate me! 2022-05-26 11:59:53 +02:00
Martin Haug 99cb655832 Intra-document links 2022-05-27 12:56:20 +02:00
Laurenz 0170913d54 Rebrand queries as memoization 2022-05-25 21:56:22 +02:00
Laurenz b6b6e36924 Replace static with const in two places 2022-05-25 21:23:12 +02:00
Laurenz 30fdba4356 Move deps from context to VM 2022-05-25 14:56:37 +02:00
Laurenz c010cbc17d Move route from context to VM 2022-05-25 13:59:06 +02:00
Laurenz 6935cf8dfe Virtual machine 2022-05-25 11:51:28 +02:00
Laurenz 3309ff9fe5 Slim down context 2022-05-25 11:16:03 +02:00
Laurenz 362a7f2a8a Thread-local query cache 2022-05-25 10:55:08 +02:00
Laurenz 018860da9c Parse math fonts only once 2022-05-24 19:30:09 +02:00
Laurenz acdde6d326 Remove `unscoped` hack 2022-05-24 18:32:51 +02:00
Laurenz 18511686f3 Add missing string cast for marginal 2022-05-20 22:28:02 +02:00
Laurenz 6ff5536127 Expand command line interface 2022-05-20 10:31:44 +02:00
Laurenz c9b72aaa84 More highlighting API 2022-05-20 10:04:49 +02:00
Laurenz fcce3df093 Simplify `only_in_mode` to `only_in_markup` 2022-05-19 13:56:14 +02:00
Laurenz 08554380f8 Fix generated strong and emphasized text 2022-05-19 13:11:00 +02:00
Laurenz 5a7c901f21 Switch to New Computer Modern Math 2022-05-19 12:59:39 +02:00
Laurenz 3965e10281 Hack in ReX for now 2022-05-18 19:09:57 +02:00
Laurenz 486f7b1bca Forbid `auto` for raw and math family 2022-05-18 18:12:02 +02:00
Laurenz 242b01549a Safe `eval` function 2022-05-16 20:22:48 +02:00
Laurenz a741bd6b83 Absolute paths 2022-05-16 17:56:36 +02:00
Laurenz 6536e9e069 Table fill closure 2022-05-16 16:04:40 +02:00
Laurenz bc1bc91a33 Allow adding `none` and anything 2022-05-16 15:55:50 +02:00
Laurenz 204cad6bd6 Store core context in grid layouter 2022-05-16 15:39:08 +02:00
Laurenz 1df621868f Fix control flow bug 2022-05-13 16:39:41 +02:00
Laurenz 05c27a581e Automatically display value in more places 2022-05-13 16:27:44 +02:00
Laurenz 11f1f0818b Pass language to raw show rule 2022-05-13 13:52:52 +02:00
Laurenz 3e9c63d685 Underline headings in raw theme 2022-05-13 13:52:26 +02:00
Laurenz 673d4e33e9 Fix grid measurement bug 2022-05-13 13:49:36 +02:00
Laurenz 64f8f981c2 Fix `Cast` implementation of `LayoutNode` 2022-05-12 11:42:09 +02:00
Martin Haug 84bd3454df Write language and direction for PDFs 2022-05-11 16:25:49 +02:00
Laurenz a247653cd0 Fix wrong table padding in subsetting 2022-05-09 09:41:13 +02:00
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