1354 Commits

Author SHA1 Message Date
Laurenz
730715c064 Rename text layouting to shaping ✏ 2020-10-03 11:09:32 +02:00
Laurenz
dc8d5d2f1e Small improvements 🧺 2020-10-02 20:22:08 +02:00
Laurenz
904bc392ab Remove spans from token iterator 🧽 2020-10-02 19:17:47 +02:00
Laurenz
343982c56f Optimize parser by remembering peeked token 2020-10-02 16:52:01 +02:00
Laurenz
3533268b1f Refactor parser 🏞 2020-10-02 15:43:29 +02:00
Laurenz
f8770d2b2a Generalize layouting primitives 🛤 2020-10-01 15:35:09 +02:00
Laurenz
e676ab53dd Rename compute to eval ✏ 2020-10-01 15:13:04 +02:00
Laurenz
7c12f0c07f Flatten compute module 2020-10-01 15:10:35 +02:00
Laurenz
7fcad452b8 Reorganize ast types 🏕 2020-10-01 15:03:37 +02:00
Laurenz
aafd3c95ca Rename table to dict ✏ 2020-10-01 13:15:10 +02:00
Laurenz
885bfec5d7 Make syntax not depend on parse 📩
This would make it possible to split them into two separate crates.
2020-10-01 11:32:48 +02:00
Laurenz
16f0bd430e Rename CharParser to Scanner ✏ 2020-10-01 11:08:53 +02:00
Laurenz
c0998b4802 Simplify tokenizer a bit 🔄 2020-10-01 11:03:42 +02:00
Laurenz
4b9bc66028 Implement low-level char parser 🥜 2020-10-01 01:38:18 +02:00
Laurenz
01405902ba Restructure parser files 🍔 2020-09-30 19:13:55 +02:00
Laurenz
0ddab1c00d Flatten unescape_string a bit 🥞 2020-09-30 19:07:45 +02:00
Laurenz
4077a7c11e Refactor raw blocks 💱 2020-09-30 18:59:33 +02:00
Laurenz
7cc279f7ae Replace line/column with byte positions 🔢 2020-09-30 17:25:09 +02:00
Laurenz
3c3730425f SpanWith trait ↔ 2020-09-30 14:38:46 +02:00
Laurenz
7143e10afc Streamline font handling a bit 📜 2020-09-30 13:18:42 +02:00
Laurenz
3e791e3337 Move decoration into mod.rs 🔙 2020-09-30 12:49:30 +02:00
Laurenz
bc1b4216a8 Reorganize syntax types into two modules 📦 2020-09-30 12:45:33 +02:00
Laurenz
dcf1d09d39 Fix for updated fontdock ✔ 2020-09-27 14:26:50 +02:00
Laurenz
7f8f225cb3 Split up parser into multiple files 🧱
Splits up into:
- escaping: resolving of escape sequences
- parser: the parsing code
- tests: all integrated parsing tests

Also moves Ident from the root syntax module into the tree module.
2020-09-03 19:16:19 +02:00
Laurenz
7f575dc098 Rename skip_white to skip_ws 2020-09-02 16:54:22 +02:00
Laurenz
b2f3730013 Deduplicate and flexibilize code token & node building 🧺 2020-09-01 14:57:25 +02:00
Laurenz
56acc9982c Formatting 🌿 2020-09-01 13:13:54 +02:00
Martin Haug
d986bc4b0a Add section headings 👨‍🦲
Co-authored-by: Laurenz Mädje <laurmaedje@gmail.com>
2020-09-01 13:10:48 +02:00
Martin Haug
1942a25793 Move Nbsp logic to tokenizer 🚛 2020-08-31 14:47:52 +02:00
Martin Haug
08433ab79f Capability to escape the tilde symbol 💨 2020-08-31 12:20:45 +02:00
Martin Haug
d0e252d116 Add non-breaking space 🔒 2020-08-31 12:11:34 +02:00
Laurenz
181f756a9e Format everything with rustfmt! 💚 2020-08-30 22:18:55 +02:00
Laurenz
0d44cf5321 Some alignment ⏭ 2020-08-30 22:15:36 +02:00
Laurenz
18c515cde5 Make some code easier for rustfmt 🍦 2020-08-30 22:09:33 +02:00
Laurenz
fe51ad2e7c Fix different-fonts-in-text bug ✔ 2020-08-30 15:32:52 +02:00
Laurenz
9861a9583e Slight simplifications 🍃 2020-08-30 15:16:55 +02:00
Martin Haug
c043692c96 Also provide escapes for strings 🗒 2020-08-30 13:39:21 +02:00
Martin Haug
7041e0938d Added Unicode Escaping for body text 👙 2020-08-30 13:21:07 +02:00
Martin Haug
d68367f32a Newlines are complicated, y'all 😱
Co-authored-by: laurmaedje@outlook.de <laurmaedje@outlook.de>
2020-08-29 17:20:04 +02:00
Martin Haug
1eb584e256 Fixing the build by removing P macro usage 🚑
Kids, merge with caution!
2020-08-29 14:10:56 +02:00
Martin
5e1fd35926
Merge branch 'master' into code-blocks 2020-08-29 13:58:30 +02:00
Martin Haug
c2b6f2dc35 Added code blocks 🚟 2020-08-29 13:53:59 +02:00
Laurenz
236750c35f Remove par nodes in favor of parbreaks 🔄
This basically reverts the earlier change from parbreaks to par nodes because:
- It is simpler and less nested
- It works way better with functions that layout their body inline like `font`, which where buggy before, previously

The original reasons for changing to par nodes were:
- the envisioned design of the layouter at that time (based on dynamic nodes etc.), which is not relevant anymore
- possibly existing benefits with regards to incremental compilation, which are unsure and outweighed by the immediate benefits of the parbreak-representation
2020-08-29 12:02:07 +02:00
Laurenz
6febc03273 Make align not behave box-like and smarter 📦
Doesn't layout contents into a box anymore, instead layouting inline in the parent context. Also makes axis inferring for center alignents smarter (just because I had fun doing it). It's unsure whether we want to keep it because it might be confusing.
2020-08-29 11:32:32 +02:00
Laurenz
8a45ec2875 Fix default values for rgb-clamping 🩹 2020-08-27 21:56:53 +02:00
Laurenz
2a92428ff6 Do as Dolores says 2020-08-27 21:47:26 +02:00
Laurenz
37835e4d8e Better error reporting for nameless function 💡 2020-08-27 21:34:48 +02:00
Martin Haug
c099b8b9b4 Fixing the regression 🩹 2020-08-27 20:56:44 +02:00
Martin Haug
3abb9ec319 Code review-tastic changes 🦪 2020-08-27 20:42:09 +02:00
Martin Haug
3de20f8d38 Add Multi-Invokation 👨‍👩‍👧‍👧 2020-08-27 17:50:57 +02:00