commercialhaskell / stack-ide

Stack-based JSON interface to ide-backend
98 stars 23 forks source link

Support type-based auto complete #85

Open lukehoersten opened 8 years ago

lukehoersten commented 8 years ago

I think this is already on the list but just so we can track notes and progress, it would be awesome to support company-mode as well as legacy autocomplete.

drwebb commented 8 years ago

+1, completing on an implied type hole would be awesome. In a similar vein, expanding on identifiers using type to insert place holders and expanding pattern matchers would be awesome. That's probably for another issue. :)

Could add anything needed to: https://github.com/drwebb/company-stack-ide, I'm very open to PRs.

@mgsloan showed a screen shot on how it's possible to get type info from the process that's present in the returned response. Would be interesting to see if one can send an arbitrary hole to the process.

lukehoersten commented 8 years ago

@drwebb oh awesome I didn't know any code already existed. I'll try this out. Thanks.

mgsloan commented 8 years ago

Auto-hoogling based on a hole would indeed be interesting. One tricky thing is that it would need to be done on

My types-in-company-mode was just a hack, unfortunately. I stuck the types directly into the autocompletion, which means the type ends up getting inserted into the code! The info is available, though. I took a brief look at company-mode to see if there was a way to include extra info with the completion candidates, but didn't find anything. Easily could have missed it though, still getting up to speed with elisp

drwebb commented 8 years ago

There is an annotation layer in company mode, I can try adding your "hack" there. See if there is something we can do about the nil values that were showing up.

lukehoersten commented 8 years ago

https://github.com/drwebb/company-stack-ide/issues/1 linking here for reference.