FsLexYacc
FsLexYacc copied to clipboard
Add ranges to identifiers and code blocks in the ASTs
This PR changes the definitions of the types in the ASTs for FsLex and FsYacc. The intent would be to contain enough information to annotate identifiers in editor tooling to power experiences like code completion of identifiers, go-to-declaration, find usages, etc.
I've built this and started brief integrations into FsAutocomplete and initial results are promising! This would hopefully open to door to experiences like typechecking the TopCode/BottomCode, the individual rule productions, etc.
something's different in the parsing of the ml-compatibility tests (the most recent commit failures should show this), but I'm not sure how concerned I should be. It might just be equality suffering due to the inclusion of the ranges on the identifiers?