This is an initial draft of editor integration, with support for loading multiple files, etc... It's still very much WIP, so this is currently intended as a way of tracking progress and bugs.
Editor
[x] Update Emacs and Vim integration to optionally use the language server. Emacs should also allow configuring the location of amc.
Put together a small VS Code extension, just to test some of the additional functionality.lsp-mode has everything we use already, so this is fine.
Internals
[x] Disable logging by default, and add a CLI switch to enable it.
[x] Determine a more reasonable way of executing requests. They need to be run off-thread, and one should be able to defer them.
[ ] Improve handling of erroring imports - ideally we'd be able to say exactly what file caused this error. Likewise with import loops.
[x] Fix location of "Lua syntax error" warnings.
[ ] Typed holes shouldn't cause the file to fail to load.
Features
We may not add all of these immediately, but definitely worth having in the future.
[ ] Code folding support.
[ ] "Type at cursor"/hover support.
[ ] Completion
[ ] Split the code lens functionality into provider and resolver.
[ ] Go to definition - we'll need to keep track of signature item's positions, which will require some extra bookkeeping.
There's definitely some features where it's not entirely clear how this will interact with desugaring, so not sure how feasible all of these will be.
This is an initial draft of editor integration, with support for loading multiple files, etc... It's still very much WIP, so this is currently intended as a way of tracking progress and bugs.
Editor
amc
.Put together a small VS Code extension, just to test some of the additional functionality.lsp-mode
has everything we use already, so this is fine.Internals
Features
We may not add all of these immediately, but definitely worth having in the future.
There's definitely some features where it's not entirely clear how this will interact with desugaring, so not sure how feasible all of these will be.