Autocomplete Implementation
Description
Adds first iteration of the autocomplete feature.
Related Issues
Checklist
- [x] I read and understood the contributing guide as well as the code of conduct
- [x] The issues this PR addresses are related to each other
- [x] My changes generate no new warnings
- [x] My code builds and runs on my machine
- [x] My changes are all related to the related issue above
- [x] I documented my code
Screenshots
That last I just pushed should fix build errors. Going to merge once tests are passing and it looks ready to go
Looks like there's some bug with either requesting completion items or filtering them. If I have a swift script like:
let string = ""
string.spl
The LSP isn't returning split as an option for completions. Super weird, going to investigate more before merging.
That last commi fixes the issue I mentioned. It turns out that language servers can opt-out of client-side filtering by setting the isIncomplete flag in the item response. This checks for that flag and disables filtering if it's detected.