azdavis / millet

A language server for Standard ML.
https://azdavis.net/posts/millet
Apache License 2.0
196 stars 12 forks source link

Multiple file support #1

Closed kopecs closed 2 years ago

kopecs commented 3 years ago

This PR would provide initial support for multiple files (detailed in a millet.toml file in the workspace root).

Some parts are probably less than ideal:

azdavis commented 3 years ago

nifty. if you want you can merge this yourself, i added you as a contributor. and also you can feel free to push to master yourself in the future/approve your own prs.

i have limited bandwidth to work on this project now, but i appreciate your contributions!

kopecs commented 3 years ago

I noticed! I haven't gotten around to merging this yet because I noticed an issue with clearing previous diagnostics after testing a bit more (I don't recall the exact circumstances to trigger, but it was pretty common with two files) and haven't had much time to work on this until recently.

With adding multifile support though, I got the impression it would be a pretty useful to try and get more than one error out of the parser/lexer after playing around with some example projects so I think I'll probably end up trying to get something finalised there before this sees any more movement.

azdavis commented 3 years ago

i saw you were working on using rowan for the parser, in hindsight i probably should have tried to do that originally since it has good support for working with partial parses which are common in ides. cf rust-analyzer.