Commit graph

600 commits

Author SHA1 Message Date
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