Commit Graph

225 Commits

Author SHA1 Message Date
Laurenz a9fdff244a Expose content representation more 2023-03-10 21:19:50 +01:00
Laurenz 62f35602a8 New #[func] macro 2023-03-10 12:55:21 +01:00
Laurenz c38d72383d Make all optional fields settable 2023-03-09 14:42:14 +01:00
Laurenz d7a65fa26d Rework style chain access 2023-03-08 14:35:33 +01:00
Laurenz e5eab73374 Streamline field names 2023-03-08 11:02:27 +01:00
Laurenz 1b2b53ecb9 Require font to be a named argument 2023-03-08 10:44:24 +01:00
Laurenz 25b5bd1175 Fully untyped model 2023-03-07 15:17:13 +01:00
Laurenz 6ab7760822 Split up `model` module 2023-03-01 16:33:28 +01:00
Laurenz ab841188e3 Bump `ecow` 2023-03-01 11:27:10 +01:00
Laurenz affb353453 Merge main back 2023-02-23 14:38:45 +01:00
Laurenz 457ce95436 More EcoVec usage
Frame unfortunately can't use it because splice is missing.
2023-02-23 14:36:40 +01:00
Laurenz a1d47695a2 Switch to ecow 2023-02-23 12:20:47 +01:00
Laurenz 090831c9cb Memoize closure calls 2023-02-17 16:41:27 +01:00
Laurenz 028632a3a1 Fix error handling after hashtag 2023-02-17 16:32:48 +01:00
Laurenz dd5f07eb91 Add `clusters` and `codepoints` methods 2023-02-17 10:53:47 +01:00
Laurenz 585f656487 Check char boundaries in string methods 2023-02-17 10:20:52 +01:00
Laurenz 17e9805b34 Let `eval` take code instead of markup 2023-02-13 17:45:08 +01:00
Laurenz ea8edfa821 Make Rust happier about the inline documentation 2023-02-06 11:52:09 +01:00
Laurenz f72c81a757 More `PartialEq` impls for `EcoString` 2023-01-31 19:29:01 +01:00
Laurenz 9a99beec94 Fix `array.pop()` 2023-02-05 17:47:33 +01:00
Laurenz 10675cd6d5 Merge text and math symbols 2023-02-02 19:50:06 +01:00
Laurenz 5f5c659279 Math tests 2023-02-02 14:13:56 +01:00
Laurenz 451ba699cb Scale fake function call 2023-02-01 13:32:14 +01:00
Laurenz 1ea0a93325 User-defined symbols 2023-01-30 19:45:10 +01:00
Laurenz 1e97d5c8cb Better analysis for literals 2023-01-28 23:38:03 +01:00
Laurenz 76048a8ef4 Overline, Underline, Overbracket, Underbracket 2023-01-28 23:15:03 +01:00
Laurenz 406de22ee5 Remove method call syntax kind 2023-01-28 18:32:58 +01:00
Laurenz 4809e685a2 More capable math calls 2023-01-28 15:36:32 +01:00
Laurenz 28c554ec21 Rework math attachments and accents 2023-01-28 12:14:03 +01:00
Laurenz 33013af37a Error message when font doesn't support math 2023-01-27 19:27:32 +01:00
Laurenz c7c135f25e Add `variants` method to symbol 2023-01-27 19:27:15 +01:00
Laurenz a96141a3ea Autocomplete methods 2023-01-27 16:09:35 +01:00
Laurenz 2e039cb052 Fix math spacing bugs 2023-01-27 15:32:05 +01:00
Laurenz a59b9fff93 Scale shorthand brackets 2023-01-27 12:20:19 +01:00
Laurenz 9d962c5c40 More `track_caller` annotations 2023-01-27 12:16:54 +01:00
Laurenz 43ef60c09c Tracing-based expression tooltips 2023-01-27 12:05:12 +01:00
Laurenz 1de53730bc Symbol values and modules 2023-01-27 12:04:36 +01:00
Laurenz a8fd64f928 Hashtags everywhere! 2023-01-27 11:54:30 +01:00
Laurenz 4653ffebb4 Math module 2023-01-23 15:23:52 +01:00
Laurenz 84c6c8b0e6 Fix closure parameter capturing 2023-01-23 15:02:09 +01:00
Laurenz 2b8426b1b3 Interpret methods on modules as functions in modules 2023-01-23 13:26:10 +01:00
Laurenz 6ca240508e Don't throw away arguments after non-function math call 2023-01-22 16:29:37 +01:00
Laurenz 7e295d84b5 Math delimiter grouping 2023-01-22 13:32:58 +01:00
Laurenz 83b6858146 Math framework 2023-01-22 13:26:42 +01:00
Laurenz b73b4f33bc Fix a few clippy lints 2023-01-20 14:21:59 +01:00
Laurenz dd331f007c Rewrite parser 2023-01-20 14:05:35 +01:00
Laurenz 40561e57fb Remove most fields from `SyntaxKind` enum 2023-01-15 12:40:27 +01:00
Laurenz 15f0434d1f Eliminate literal type 2023-01-14 12:52:24 +01:00
Laurenz 29b31c4a5a New import syntax 2023-01-03 12:32:17 +01:00
Laurenz 7c683db367 Merge `MarkupNode` and `MathNode` into `Expr` 2022-12-31 09:52:14 +01:00
Laurenz a6d90c1bf1 Numbering functions 2022-12-30 20:00:50 +01:00
Laurenz f70cea508c Remove index syntax in favor of accessor methods 2022-12-30 16:45:41 +01:00
Laurenz 94cf7005e9 Forbid division by zero 2022-12-30 10:01:37 +01:00
Laurenz 68c6160a14 Recursion with max depth 2022-12-30 09:48:30 +01:00
Laurenz 8527517258 Rename `desc` to `terms` 2022-12-22 18:25:29 +01:00
Laurenz 990224c0f8 Annotate return values 2022-12-22 00:34:03 +01:00
Laurenz 1eda162867 Mutable methods with return values 2022-12-21 23:48:04 +01:00
Laurenz 31f904a2c4 Split up and document shapes 2022-12-21 16:19:46 +01:00
Laurenz ba294e2670 Split up list type into three separate types and document them 2022-12-21 12:50:33 +01:00
Laurenz ee732468c7 Document text category 2022-12-21 00:26:20 +01:00
Laurenz f5f7df7247 Documentation 2022-12-20 16:11:37 +01:00
Martin Haug b8ffd3ad3d Document meta and data loading categories 2022-12-20 15:55:15 +01:00
Laurenz b4b022940b Syntax and example sections 2022-12-19 01:16:35 +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 9ba4d2c134 New macro setup 2022-12-14 10:09:44 +01:00
Laurenz ad66fbdfa2 Detect infinite loops 2022-12-14 09:56:24 +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 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 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 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 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