Joshua Warner
3a7265baed
More impls for to_node
2024-12-28 22:31:25 -05:00
Luke Boswell
f7dbf850b9
Merge pull request #7409 from joshuawarner32/fuzzing-bugs-5
...
Fix another batch of parsing/formatting bugs found in fuzzing
2024-12-28 17:36:03 +11:00
Anthony Bullard
c70ceb4f98
Issue 7089: ?? operator
2024-12-26 10:53:47 -06:00
Joshua Warner
9d3f232794
Switch to something that won't trigger the panic detector
2024-12-25 09:33:19 -05:00
Joshua Warner
8f0566a55f
Fix crash with doubly-nested parens in patterns
2024-12-24 14:08:52 -05:00
Joshua Warner
941c6c4fe3
Fix exponential behavior in parsing function types in tuples
2024-12-24 11:20:36 -05:00
Joshua Warner
9499dcec4b
Disallow implements even with spaces around it
2024-12-23 14:34:41 -05:00
Joshua Warner
ad1e3369c5
Disallow expect! as an identifier
2024-12-21 20:14:18 -05:00
Joshua Warner
887a43ff55
Fix comments in str interpolations
2024-12-16 18:23:37 -08:00
Joshua Warner
4e3df6bde2
Fix normalization of strings with overflowing unicode
2024-12-15 18:33:56 -08:00
Joshua Warner
96c5dcb651
Relax indentation parsing inside parens, lists, and records
2024-12-15 18:33:54 -08:00
Joshua Warner
6ef87b3b9d
Graccefully handle overflowing unicode literals
2024-12-15 18:33:54 -08:00
Joshua Warner
307b0d9ea9
Fix closure indentation and indented-else handling in niche pattern case
2024-12-15 18:33:52 -08:00
Joshua Warner
2dd4fe03f8
Correctly update newline and indent state in multiline strings
2024-12-15 18:33:50 -08:00
Joshua Warner
a15998872d
Also conservatively check for spaces at the beginning of the pattern
2024-12-15 18:33:50 -08:00
Joshua Warner
f193c778d5
clippy
2024-12-13 13:45:11 -08:00
Joshua Warner
d3426ebce1
Fix empty SpaceBefore instance
2024-12-13 13:45:11 -08:00
Joshua Warner
16c3d4e512
Don't drop spaces before return
2024-12-13 13:45:10 -08:00
Joshua Warner
07f7252573
Implement better comparisons between alias and body
2024-12-13 13:45:09 -08:00
Joshua Warner
0cc16b0d2c
Fix bug with when not passing down options
2024-12-13 13:45:09 -08:00
faldor20
a7308130cf
clippy on everything
2024-12-12 20:54:25 +10:00
faldor20
7eb81fbcf3
drilling into every error type when getting region
2024-12-12 20:54:25 +10:00
faldor20
81f2095e61
basic working
...
compiling, but still missing positions from expression errors
2024-12-12 20:54:25 +10:00
Joshua Warner
6b636d9539
Set up module ids properly
2024-12-09 21:24:10 -08:00
Joshua Warner
6ac6a7c19a
Feedback: dry out term, make fmt_spaces_with_newline_mode more readable, explicitly implement all the variants in ann_lift_spaces
2024-12-05 18:54:25 -08:00
Joshua Warner
8642f8500e
Switch to conservatively checking if the annotation/alias ends in a space before merging
2024-12-05 18:54:24 -08:00
Joshua Warner
e22e37a9c1
Remove accideental dbg!()
2024-12-05 18:54:23 -08:00
Joshua Warner
9a9b96dc69
Fix clippy
2024-12-05 18:54:22 -08:00
Joshua Warner
45424e27fb
Fixup string dollar handling
2024-12-05 18:54:21 -08:00
Joshua Warner
78cda703d9
Fixup negative allowance in calls
2024-12-05 18:54:20 -08:00
Joshua Warner
1be2075e7f
Make sure ext's can't slurp surrounding apply args
2024-12-05 18:54:19 -08:00
Joshua Warner
5c387857ff
Indented seq parsing for imports
2024-12-05 18:54:18 -08:00
Joshua Warner
19f8cc532a
Disallow conditionals after neg/not
2024-12-05 18:54:17 -08:00
Joshua Warner
7eb9909ac5
Make parsing of conditionals consistent between stmts/exprs
2024-12-05 18:54:16 -08:00
Joshua Warner
e47d7924d3
Fix parsing crash with dollar escapes
2024-12-05 18:54:15 -08:00
Joshua Warner
cabe67f88d
Only allow indented else if there's a newline after the else
2024-12-05 18:54:14 -08:00
Joshua Warner
b9862b47dc
Several fixes found in fuzzing
2024-12-05 18:54:03 -08:00
Sam Mohr
de626102c8
Use new try impl for ? operator
2024-12-05 02:13:13 -08:00
Sam Mohr
193c23bac8
Merge pull request #7296 from smores56/proper-try-keyword
...
Proper `try` keyword
2024-12-05 01:38:22 -08:00
Anton-4
7c1dffb777
minor improvements
2024-12-04 14:32:38 +01:00
Sam Mohr
eedade8e81
Initial working version of proper try
keyword
2024-12-04 02:31:59 -08:00
Anthony Bullard
a2083cec30
Parsing support for snake_case identifiers
...
In this initial commit, I have done the following:
- Added unit tests to roc_parse's ident.rs file to cover at least the
simplest Ident enum cases (Tag, OpaqueRef, and simple Access)
- Added '_' as a valid "rest" character in both uppercase and lowercase
identifier parts
- Updated the test_syntax snapshots appropriately
There is still a lot left to do here. Such as:
- Do we want to allow multiple '_'s to parse successfully?
- Handle qualified access
- Handle accessor functions
- Handle record update functions
- Remove the UnderscoreInMiddle case from BadIdent
- Write unit tests for Malformed Idents
I am not a "Rustacean" by any means, but have been through the Book in
years past. Any feedback on the way I wrote the tests or any other part
of the implementation would be very appreciated.
2024-12-03 20:50:47 -06:00
Richard Feldman
12dc39a892
Merge pull request #7293 from roc-lang/drop-dbgs
...
Convert unused dbg!()s to eprintln!()s
2024-12-02 00:34:01 -05:00
Richard Feldman
bc0c9250f9
Convert unused dbg!()s to eprintln!()s
...
This makes it nicer to work with dbg! normally,
because grepping the code base for dbg!() reveals
only the usages of it that are currently active.
2024-12-01 23:10:35 -05:00
Joshua Warner
f7a5f06e5b
Fix a bunch of bugs found in fuzzing
2024-12-01 12:40:19 -08:00
Joshua Warner
5cd38c969f
Fix a couple minor parsing bugs
2024-12-01 12:40:17 -08:00
Joshua Warner
d4301e86a3
Improve parsing of negative + not'd exprs
2024-12-01 12:40:16 -08:00
Joshua Warner
61d885039d
Improve normalization to handle cases found in fuzzing
2024-12-01 12:40:14 -08:00
Joshua Warner
912db1b76b
Fix round-trip parse->fmt->parse for dbg stmts with more than one arg
2024-12-01 12:40:13 -08:00
Joshua Warner
085c5e2fe7
Fix nasty perf bug in parsing types
2024-12-01 12:39:47 -08:00