Add try-catch, for, while, while do, and enum, and fix if#60
Add try-catch, for, while, while do, and enum, and fix if#60gerblesh wants to merge 7 commits intovantreeseba:mainfrom
Conversation
|
There's some odd behavior where when trying to do the range operator on two ints, the grammar thinks it's a float: |
|
I have also yet to figure out the best way to do array comprehension, accounting for |
|
it may be worth looking into https://tree-sitter.github.io/tree-sitter/creating-parsers#external-scanners for the range operator/floats, the regex for the floats would be hard to get right |
|
"fixed" the range expression for now. Still really confused on how to deal with the conditional operator thing. Looks like it conflicts with |
|
Instead of having specific constructs for array comprehensions, perhaps for/while should be allowed as a generic "expression" element, and expressions should be allowed within |
Fixing this regex may solve the float problem: tree-sitter-haxe/grammar-literals.js Line 12 in 12e814c Right now it accepts any number of |
|
I think having this merged would also open up for support on Zed-Haxe, right? |
This PR is still pretty underbaked and I don't have a whole lot of time to dedicate to learning haxe and treesitter as I am unfamiliar with haxe and treesitter currently. If you or anyone else wants to get this polished enough to merge and make a fully functioning haxe treesitter grammar feel free, not sure if the current maintainer checks this repo so it might be best to do the work in a fork |
|
That makes sense, thanks the detailed reply. 👍 |
Hi! Was working on Helix support for the queries when I realized the grammar hadn't implemented these structures. Figured I'd have a go at it. First time playing around with treesitter so things probably aren't ideal but it mostly works. I still also need to get tests passing and write some tests