Commit Graph

1503 Commits

Author SHA1 Message Date
Laurenz 30d6c070c1 More efficient function representation 2023-03-19 23:49:35 +01:00
Laurenz ab43bd802e Renaming and refactoring 2023-03-19 22:39:19 +01:00
Laurenz d6aaae0cea Fix font embedding bugs 2023-03-19 20:58:03 +01:00
Laurenz 0ba99ab8aa Measurement and introspection rework 2023-03-19 10:19:34 +01:00
Laurenz a69b587455 Rename formula to equation 2023-03-18 19:27:31 +01:00
Laurenz a16726ae66 Architecture description 2023-03-18 18:27:22 +01:00
Laurenz 533d4d57c6 Fix hover tooltip value collapsing 2023-03-18 17:51:13 +01:00
Laurenz 5d475ae32e Attach parameter list span to function 2023-03-18 17:50:57 +01:00
Laurenz 9315e2f08e Make parameters traceable 2023-03-17 18:51:42 +01:00
Laurenz 59903270dc Methods for page and location on queried content 2023-03-17 18:43:20 +01:00
Laurenz af7fe4d760 Hover and autocomplete in show rules 2023-03-17 18:18:47 +01:00
Laurenz 6d64d3e8e9 Query 2023-03-17 16:04:14 +01:00
Laurenz c47e4cb496 State 2023-03-17 16:04:12 +01:00
Laurenz 312197b276 Counters 2023-03-17 11:45:57 +01:00
Laurenz e8435df5ec More jump targets 2023-03-17 11:30:58 +01:00
Laurenz ecb5543985 Node links 2023-03-15 12:33:38 +01:00
Laurenz 8567811808 Simplify stable id handling 2023-03-15 10:09:17 +01:00
Laurenz 89f44f220d Bibliography and citations 2023-03-14 22:53:54 +01:00
Laurenz 2a86e4db0b Reference supplements 2023-03-14 22:34:43 +01:00
Laurenz e50189cfa7 Allow keywords as fields 2023-03-14 22:31:05 +01:00
Laurenz 724e9b140c Locatability and synthesis improvements 2023-03-13 21:41:33 +01:00
Laurenz 880b1847bd Derive `Cast` for enums 2023-03-13 21:40:06 +01:00
Laurenz 8debba439c Fix font tooltip 2023-03-13 11:30:17 +01:00
Laurenz 5800acceac Consider glyph side when determining cursor position 2023-03-12 22:59:39 +01:00
Laurenz a735bb9db3 Jump to destination 2023-03-12 14:28:24 +01:00
Laurenz ad05ba5925 Spans in math 2023-03-12 13:20:36 +01:00
Martin Haug 2720a44b96 Merge branch 'main' into ng 2023-03-12 09:58:47 +01:00
Laurenz ca6edf5283 Jump to source and preview 2023-03-11 23:29:32 +01:00
Laurenz 1a390deaea Figures 2023-03-11 20:01:56 +01:00
Laurenz 529d3e10c6 Section references 2023-03-11 18:29:48 +01:00
Laurenz 8e5f446544 Autocompletion for raw language tags 2023-03-11 11:46:12 +01:00
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 2c13ff9bfe Make render background color configurable 2023-03-09 13:07:36 +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 8f246406c6 Fix `PartialEq` and `Hash` impls of `Font` 2023-02-27 15:46:25 +01:00
Laurenz 49940fde73 Show only math fonts in formula show rule 2023-02-25 16:21:39 +01:00
Laurenz 87991b81d6 Better font autocompletion 2023-02-24 16:03:58 +01:00
Laurenz 09077d6382 Fix more bad font names 2023-02-24 15:08:00 +01:00
Laurenz 151765bb3e Don't complete in comments 2023-02-24 14:22:34 +01:00
Laurenz 7726e8aa4d Don't complete params directly after comma 2023-02-24 14:18:05 +01:00
Laurenz 448844d66c Allow multiple authors 2023-02-24 14:09:38 +01:00
Laurenz 6547c2d6d5 Handle New CM Math Book 2023-02-24 13:59:32 +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 c1637054a4 Fix semicolon parsing 2023-02-17 16:41:21 +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 56b6a2a908 Impl `Eq` for syntax tree types 2023-02-17 10:01:40 +01:00
Laurenz 310c229c61 Changelog 2023-02-15 23:22:00 +01:00
Laurenz b9c0fd87d3 Fix grid sizing 2023-02-14 12:34:16 +01:00
Laurenz e64b2379a8 Disable link boxes in PDF 2023-02-13 17:53:19 +01:00
Laurenz 17e9805b34 Let `eval` take code instead of markup 2023-02-13 17:45:08 +01:00
Laurenz b1b4e52af9 Block sizing 2023-02-13 16:04:25 +01:00
Laurenz 72b60dfde7 Fill and stroke properties for containers 2023-02-13 12:18:34 +01:00
Martin Haug 58adf1d025 Add XMP 2023-02-12 23:32:14 +01:00
Laurenz fd90736fb6 Support fractional width for `box` 2023-02-12 22:04:27 +01:00
Laurenz d689d706ea Vertically center non-math content in math by default 2023-02-12 21:14:12 +01:00
Laurenz 70c8a08905 Fix hover tooltip in math 2023-02-12 20:53:59 +01:00
Laurenz 7b2cdb9d95 Require colon in show rule 2023-02-12 20:25:24 +01:00
Laurenz 77c29b36d4 Autocomplete parentheses 2023-02-12 20:06:49 +01:00
Laurenz 3ffa7393f0 Make all nodes block-level 2023-02-12 19:57:28 +01:00
Laurenz 03cbdea4b4 Fix "not in" precedence 2023-02-12 10:17:35 +01:00
Laurenz ebe919220d Fix flow bugs 2023-02-11 13:30:55 +01:00
Laurenz 924a27bc37 Move `Fragment` into library 2023-02-09 14:11:00 +01:00
Laurenz 149e2b055b Custom link callback 2023-02-06 17:40:08 +01:00
Laurenz ea8edfa821 Make Rust happier about the inline documentation 2023-02-06 11:52:09 +01:00
Laurenz 09d17b4d21 Remove `Category` to `Tag` 2023-01-31 19:29:14 +01:00
Laurenz f72c81a757 More `PartialEq` impls for `EcoString` 2023-01-31 19:29:01 +01:00
Laurenz ec05ed7e06 Move assets 2023-01-31 15:05:42 +01:00
Laurenz 9a99beec94 Fix `array.pop()` 2023-02-05 17:47:33 +01:00
Laurenz 9e918d06ad Fix function call highlighting 2023-02-03 17:46:53 +01:00
Laurenz 2bb0135d2a Fix inconsistency between text and idents in math 2023-02-02 22:33:12 +01:00
Laurenz 10675cd6d5 Merge text and math symbols 2023-02-02 19:50:06 +01:00
Laurenz bb12624e8e Fix heading and list markers 2023-02-02 14:27:31 +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 e1f2acff62 No text hashtags 2023-01-30 23:08:43 +01:00
Martin Haug 0287b98ef3 Add calc module 2023-01-30 21:04:34 +01:00
Laurenz 1ea0a93325 User-defined symbols 2023-01-30 19:45:10 +01:00
Laurenz 3a4c5ae4b9 Highlighting and docs fixes 2023-01-30 18:29:09 +01:00
Laurenz c987f07b76 HTML highlighting 2023-01-29 23:23:03 +01:00
Laurenz 5f4f507ecf Make shorthand list inspectable 2023-01-29 20:43:36 +01:00
Laurenz f7458f9533 Matrices 2023-01-29 19:11:44 +01:00
Laurenz 83b28e99ae Import completions 2023-01-29 01:07:20 +01:00
Laurenz ec21927d08 Find first hovered ancestor expression 2023-01-29 00:24:54 +01:00
Laurenz 18e2aa2cea Differentiate between text and code tooltips 2023-01-29 00:18:42 +01:00
Laurenz d29acd2203 Dictionary field completion 2023-01-28 23:55:24 +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 c56299c6bd Refactor autocomplete 2023-01-27 12:04:54 +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 33585d9a3f Small fixes 2023-01-27 11:38:04 +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 ea378e89b4 Better math atoms 2023-01-22 13:27:49 +01:00
Laurenz 83b6858146 Math framework 2023-01-22 13:26:42 +01:00
Laurenz a2d77e36ba Frame debugging tools 2023-01-22 13:21:35 +01:00
Laurenz 760936af49 Remove ReX 2023-01-22 13:19:48 +01:00
Laurenz 815ee3254c Formatting fixes 2023-01-22 13:18:30 +01:00
Laurenz eabbbf7eae Name handling for New Computer Modern Math 2023-01-22 13:16:03 +01:00
Laurenz e38839c287 Fix small newline bug 2023-01-20 14:26:43 +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 ab03f32240 Reorganize syntax module 2023-01-14 12:34:17 +01:00
Laurenz 2589692b00 Iterator over coverage 2023-01-12 17:13:10 +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 fe1f440069 Clamp shape radii 2022-12-30 10:07:46 +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 94b90761eb Bugfixes 2022-12-27 16:07:26 +01:00
Laurenz 046cd4f5c7 Fix autocomplete 2022-12-25 17:20:12 +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
Martin Haug 5e19991b6c Document Utility funcs, some layout funcs 2022-12-20 18:31:47 +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 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