51 Commits

Author SHA1 Message Date
Laurenz
a9fdff244a Expose content representation more 2023-03-10 21:19:50 +01:00
Laurenz
6ab7760822 Split up model module 2023-03-01 16:33:28 +01:00
Laurenz
e218226655 Merge some modules 2022-10-17 20:04:22 +02:00
Laurenz
fc574b3945 New Str type with methods 2022-07-26 23:27:44 +02:00
Laurenz
c81e2a5f56 Many fixes 2022-06-14 13:53:02 +02:00
Laurenz
a9869c212f Locatable groups 2022-05-26 13:49:44 +02:00
Laurenz
bc1bc91a33 Allow adding none and anything 2022-05-16 15:55:50 +02:00
Laurenz
75472fee1a Division for lengths 2022-05-04 22:14:51 +02:00
Laurenz
f9e115daf5 New block spacing model 2022-04-30 14:12:28 +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
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
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
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
5ac7eb3860 Rename template to content 2022-03-11 23:36:06 +01:00
Laurenz
9730e785a8 Tidy up 2022-02-07 14:19:13 +01:00
Laurenz
a7b403fd74 Rename Node to Template 2022-02-02 16:02:23 +01:00
Laurenz
3cad6bf607 Allow to add none and node 2022-01-29 18:14:51 +01:00
Laurenz
bd304b99e5 Tidying 2021-12-28 13:41:26 +01:00
Laurenz
26bdc1f0f6 Set Rules Episode I: The Phantom Style 2021-12-05 12:54:03 +01:00
Laurenz
3a15922d2f X/Y abstractions 2021-11-26 16:32:06 +01:00
Laurenz
4f9e5819bb 2d alignments with plus operator 2021-11-23 12:45:20 +01:00
Laurenz
63c274e7f6 Make clippy happier and remove Str 2021-11-15 17:06:43 +01:00
Laurenz
3968181622 Replace .. syntax with range function 2021-10-25 13:38:32 +02:00
Laurenz
e10b3d838a Fix panic due to bad alignments in stack function 2021-09-27 13:45:18 +02:00
Laurenz
3481d8cc81 More utility functions
- join("a", "b", "c", sep: ", ")
- int("12")
- float("31.4e-1")
- str(10)
- sorted((3, 2, 1))
2021-08-31 12:59:53 +02:00
Laurenz
7e6e7e928c Adjust macros to new version 2021-08-14 23:53:57 +02:00
Laurenz
ccb4be4da4 Make range-end exclusive 2021-08-12 14:54:52 +02:00
Laurenz
eaa3cbaa9c Array and dictionary indexing 2021-08-12 13:56:23 +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
853361338b Better addition and iteration for array, dict and template 2021-07-29 12:01:06 +02:00
Laurenz
9fe9b95b7f Simpler casting 2021-07-11 13:20:53 +02:00
Laurenz
982ce85976 Move comparisons into standard traits 2021-07-10 23:10:35 +02:00
Laurenz
6a4823461f Reference-count complex values
Rename some nodes types
2021-07-10 23:10:17 +02:00
Laurenz
0c74290519 Compare functions and templates by identity 2021-07-08 23:36:20 +02:00
Laurenz
5a500fb8a7 Range operator 2021-07-08 19:12:07 +02:00
Laurenz
bca035172c Join semantics 2021-06-18 11:59:05 +02:00
Laurenz
bce553a991 Tidy up 2021-06-09 22:44:40 +02:00
Martin Haug
73fa2eda2c Introduce frs 2021-06-09 22:44:40 +02:00
Laurenz
6b08862b83 Streamline value comparisons 2021-05-18 15:44:49 +02:00
Laurenz
5e08028fb3 Syntax functions 🚀
This adds overridable functions that markup desugars into. Specifically:
- \ desugars into linebreak
- Two newlines desugar into parbreak
- * desugars into strong
- _ desugars into emph
- = .. desugars into heading
- `..` desugars into raw
2021-03-21 17:50:56 +01:00
Laurenz
264a7dedd4 Scheduled maintenance 🔨
- New naming scheme
  - TextNode instead of NodeText
  - CallExpr instead of ExprCall
  - ...
- Less glob imports
- Removes Value::Args variant
- Removes prelude
- Renames Layouted to Fragment
- Moves font into env
- Moves shaping into layout
- Moves frame into separate module
2021-03-19 17:57:31 +01:00
Laurenz
094462cbdd Make templates and strings summable 🥪 2021-02-12 23:11:47 +01:00
Laurenz
6fcef9973b Refresh tests 🔄 2021-01-31 22:43:11 +01:00
Laurenz
e847082435 Multi-expression blocks 🛍️ 2021-01-26 21:13:52 +01:00
Laurenz
ac788f2082 Many more expressions 🥗
Boolean, equality, comparison and assignment expression parsing and evaluation.
2021-01-22 17:16:42 +01:00