Commit Graph

72 Commits

Author SHA1 Message Date
Max 7dc99e92ec
Require parentheses in all function-like sub/superscripts (#6442)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2025-08-01 08:37:49 +00:00
Laurenz 88dfe4d276
Use `rustc-hash` for hash maps and sets (#6678) 2025-07-31 08:45:03 +00:00
Laurenz b036fd97ab Reformat with 2024 edition 2025-07-21 15:22:29 +02:00
Laurenz c9c2315ad3 Fix 2024 clippy warnings 2025-07-21 15:22:29 +02:00
cAttte f9897479d2
Unify `EvalMode` and `LexMode` into `SyntaxMode` (#6432) 2025-06-12 14:09:37 +00:00
Ian Wrzesinski 832fab58b3
Clean up some parser comments (#6398) 2025-06-09 13:48:55 +00:00
Ian Wrzesinski 12699eb7f4
Parse multi-character numbers consistently in math (#5996)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2025-04-02 09:30:04 +00:00
Max 55bc5f4c94
Make math shorthands noncontinuable (#5925) 2025-02-23 11:28:24 +00:00
Malo f239b0a6a1
Change the default math class of U+22A5 ⊥ UP TACK to Normal (#5714) 2025-01-31 10:05:03 +00:00
Ian Wrzesinski 0b8b7d0f23 Just add MathText SyntaxKind 2025-01-23 16:28:29 -05:00
T0mstone b7546bace7
Ignore shebang at start of file (#5702) 2025-01-23 13:05:12 +00:00
wznmickey ce299d5832
Support syntactically directly nested list, enum, and term list (#5728)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2025-01-23 12:52:20 +00:00
Ian Wrzesinski f7bd03dd76
Fix delimiter unparen syntax (#5739) 2025-01-23 12:27:38 +00:00
Ian Wrzesinski 63c4720ed2
Fix list indent when starting at an open bracket (#5677) 2025-01-16 13:40:29 +00:00
Max be6629c7cb
Better math argument parsing (#5008) 2025-01-09 10:49:06 +00:00
Laurenz 1346385255
Rename `pattern` to `tiling` (#5590) 2024-12-17 09:25:27 +00:00
Ian Wrzesinski 50dcacea9a
Convert unopened square-brackets into a hard error (#5414) 2024-12-08 16:23:14 +00:00
Laurenz 0228462ba1
Bump Rust to 1.83 (#5534) 2024-12-05 15:57:01 +00:00
Laurenz cb1aad3a0c
Refactor Parser (#5310) 2024-11-04 10:17:49 +01:00
Ian Wrzesinski 2c9728f53b 18. Restore list indent behavior 2024-11-03 22:04:06 -05:00
Ian Wrzesinski 9d9a1b1e33 17. Replace while loop closures and Parser::end() to use SyntaxSet 2024-11-03 20:28:49 -05:00
Ian Wrzesinski 86ce443806 16. Compress with_mode and with_nl_mode to reduce rightward drift 2024-11-03 20:28:49 -05:00
Ian Wrzesinski 26c61be1dc 15. Convert Markup mode to use newline modes
(And break out Newline info into separate struct)
2024-11-03 20:28:49 -05:00
Ian Wrzesinski a70b8a56ef
Disallow space between ident and paren in set rule (#5269) 2024-11-01 09:45:08 +00:00
Ian Wrzesinski 4ce0b069f6 14. Update 'maybe_wrap_in_math' to remove 'wrap_within' and 'post_process'! 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 97229d24e4 13. Reorder functions to avoid jumping around when reading code. No actual changes. 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 91b384ad7b 12. Add the Token type and replace lex/skip/save methods 2024-10-31 18:26:12 -04:00
Ian Wrzesinski c466080fb2 11. Add Parser::finish_into 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 2ae1e1627f 10. Change parser modes using closures instead of manual stacks 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 88d86714a1 9. Parse math field access in the lexer 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 09975d1133 8. Create Raw nodes entirely within the lexer 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 1cecae0333 7. Return SyntaxNodes from the Lexer 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 01186779cd 6. Reduce size of memoization map state 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 16cc7eb472 5. Refactor parser memoization to localize functionality 2024-10-31 18:26:12 -04:00
Ian Wrzesinski 54eadb65a9 4. Rename convert to convert_and_eat 2024-10-31 18:26:12 -04:00
Ian Wrzesinski a764aa4192 3. Add typst-syntax README and parser comments 2024-10-31 18:26:12 -04:00
Laurenz be7cfc85d0
Split out four new crates (#5302) 2024-10-27 18:04:55 +00:00
Ian Wrzesinski b8034a3438
Syntax set macro (#5138)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-10-22 13:25:52 +00:00
Josh Soref ca1f749c08
Spelling (#5020)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-26 17:32:55 +00:00
Sébastien d'Herbais de Thun 1997db00f3
Parenthesized imports (#4869)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-09-02 13:27:33 +00:00
Max b07607d35e
Split shorthands into math and markup, add tilde shorthand (#4706) 2024-08-09 07:41:01 +00:00
+merlan #flirora a88899ed75
Bail out of reparse in `expr_with_paren` if we land on a different char (#4577) 2024-08-08 16:06:22 +00:00
Leedehai d1c7d08893
Primes should not further raise next superscript's position (#4492)
Co-authored-by: Ian Wrzesinski <133046678+wrzian@users.noreply.github.com>
2024-07-08 19:32:58 +00:00
astrale-sharp ad4ef68a11
Lexer hint (#4346)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-06-12 12:00:22 +00:00
Yip Coekjan ada0f5da65
Hint for labels in code mode (#4319) 2024-06-04 15:33:08 +00:00
Tulio Martins 06a925a0ee
Add nested import syntax (#4228)
Co-authored-by: LuizAugustoPapa <luiz.papa@aluno.puc-rio.br>
Co-authored-by: PepinhoJp <pepinho.jp@gmail.com>
Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com>
2024-05-30 07:56:40 +00:00
Leedehai 44bc51ba4f
Let let-binding raise error on unexpected keywords (#4034) 2024-04-30 12:30:38 +00:00
Ian Wrzesinski 45245f0695
Fix empty 2-d math args with whitespace/trivia (#3786)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-04-19 14:31:45 +00:00
Leedehai 9289d9334b
SyntaxKind::Eof => SyntaxKind::End to better express its usage (#3872) 2024-04-08 10:21:06 +00:00
Leedehai 0619ae98a8
Fix newline parsing behavior in code mode (#3780) 2024-04-03 09:01:50 +00:00