84 Commits

Author SHA1 Message Date
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
76b1d4a93f Parse show and wrap expressions 2022-01-28 20:02:42 +01:00
Laurenz
b3062ee880 Make use of new Rust 1.58 formatting feature 2022-01-13 18:43:18 +01:00
Martin Haug
c994cfa7d8 Code Review: Your parsers were so preoccupied with whether they could 2022-01-04 00:21:33 +01:00
Martin Haug
98c96ba1cb Fix parser / space / error bug 2022-01-02 14:46:08 +01:00
Martin Haug
5f114e18eb Added a test framework for incremental parsing
Fix several errors:

- Indented markup is now reparsed right
- All end group errors will now fail a reparse
- Rightmost errors will always fail a reparse
2022-01-02 00:46:19 +01:00
Martin Haug
e05eb5fda5 Code Review: Parser, I can't let you do this 2021-11-28 18:18:45 +01:00
Martin Haug
3162c6a83a Comments and neighbors 2021-11-10 20:41:10 +01:00
Laurenz
2a3d0f4b39 Set Rules Episode VII: The Set Awakens 2021-12-15 20:27:41 +01:00
Laurenz
f3bdc9d3da Syntax highlighting 2021-11-30 18:55:50 +01:00
Laurenz
63c274e7f6 Make clippy happier and remove Str 2021-11-15 17:06:43 +01:00
Laurenz
38c5c36241 Final touches 2021-11-08 13:06:11 +01:00
Laurenz
95866d5fc9 Tidy up AST 2021-11-08 01:37:49 +01:00
Laurenz
41bdafb578 Faster parser 2021-11-06 15:49:39 +01:00
Laurenz
65fac0e57c Refactoring
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:41 +01:00
Martin Haug
49fb3cd4e2 Code Review: Life is Like a Box of Iterators 2021-11-05 13:44:50 +01:00
Martin Haug
2e7d359e59 Unicode escape error moved to tokenizer 2021-11-05 13:44:49 +01:00
Martin Haug
c569e14c07 Improve error handling 2021-11-05 13:44:49 +01:00
Martin Haug
1c0ac793d2 Slim NodeKind memory footprint 2021-11-05 13:44:49 +01:00
Martin Haug
84d35efee3 Less owning, more iterating 2021-11-05 13:44:49 +01:00
Martin Haug
4875633acf Change parser 2021-11-05 13:44:49 +01:00
Laurenz
30f302f7ff Treat lone hashtag as text 2021-09-30 19:41:28 +02:00
Laurenz
c18321a4c2 Bugfix and tidying 2021-09-15 13:05:00 +02:00
Laurenz
0dd4ae0a7a Prune derives 2021-08-21 17:30:21 +02:00
Laurenz
6ae6d86b9c Separate type for string values 2021-08-14 15:55:39 +02:00
Laurenz
eaa3cbaa9c Array and dictionary indexing 2021-08-12 13:56:23 +02:00
Laurenz
3c92bad9a7 Pretty-printed diagnostics with traceback 2021-08-01 00:00:36 +02:00
Laurenz
5edbd3a5b5 Use array's IntoIterator impl and nested or patterns
*yay*
2021-07-16 12:07:15 +02:00
Laurenz
81f2f8f4c3 Optimize scanner and tokenizer 2021-07-13 15:24:26 +02:00
Laurenz
551e3af9d0 Replace using with from 2021-07-08 21:16:16 +02:00
Laurenz
5c327e249e Switch to = for headings once again 2021-07-08 20:03:13 +02:00
Laurenz
f85e5aac64 URL special case for line comments 2021-07-08 19:37:38 +02:00
Laurenz
5a500fb8a7 Range operator 2021-07-08 19:12:07 +02:00
Laurenz
17e8946884
Remove color literals (#39) 2021-06-30 22:32:24 +02:00
Laurenz
b89cd128ae Wide calls 2021-06-29 13:49:50 +02:00
Laurenz
422b8e640f With expressions 2021-06-26 18:07:05 +02:00
Laurenz
4dbd9285c9 Basic enums 2021-06-11 14:00:06 +02:00
Laurenz
bce553a991 Tidy up 2021-06-09 22:44:40 +02:00
Martin Haug
29cfef0a6d Add a grid layouter 2021-06-09 22:44:40 +02:00
Martin Haug
73fa2eda2c Introduce frs 2021-06-09 22:44:40 +02:00
Laurenz
5afb42ad89 Lists with indent-based parsing
- Unordered lists with indent-based parsing and basic layout using stacks
- Headings are now also indent based
- Removes syntax functions since they will be superseded by select & transform
2021-06-09 00:37:13 +02:00
Laurenz
f26526ba75 Switch back to hashtags for headings 2021-06-07 18:17:47 +02:00
Martin Haug
9f77f09aac Parse import and include expressions
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-05-31 22:33:40 +02: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
e143fd36ef Refresh tokenizer 🌊 2021-02-18 15:05:49 +01:00
Laurenz
db1659a987 Rename any template to func template ✏ 2021-02-12 23:14:29 +01:00
Laurenz
d86a5e8a1f Tidy up raw blocks 🧹
- Better trimming (only trim at the end if necessary)
- Fixed block-level layouting
- Improved pretty printing
- Flip inline variable to block
- Flip inline variable to display for math formulas
2021-02-03 21:34:49 +01:00
Laurenz
67047047e8 Interpret two backticks as single-backtick block 2021-01-30 15:24:11 +01:00
Laurenz
fe7ea53800 New display-math syntax 🧮
Changed to `$[x]$` instead of `$$x$$` because then `$$` simply is an empty formula that does not poison the whole document.
2021-01-30 12:36:41 +01:00
Laurenz
89eb8bae49 New syntax 💎
- Everything everywhere!
  - Blocks with curly braces: {}
  - Templates with brackets: []
  - Function templates with hashtag: `#[f]`
- Headings with equals sign: `= Introduction`
2021-01-30 12:09:26 +01:00