It seems completion items only come from the current file, I would like to see suggestions based on all exposed modules including from dependencies that are in my cabal file. After playing with HLS for a while and coming from purescript I would say this is the biggest missing feature for me personally.
+1 for it! IIRC, TypeScript Language Server also provides such a feature, provides a symbol completion not only for local and imported modules, but also for all the modules in package dependency and adds missing imports automatically.
Since the size of dependency can tremendously slow down the generation of completion candidate, it might make sense to generate candidates somewhat lazily, or just provide a configuration option to enable/disable such an aggressive completion.
I don't think a list of _exposed_ symbols would ever be that big, it could be indexed on startup possibly. If you wanted to include transitive dependencies that need to be exposed in the cabal file (which would be cool) it might be a bit big I guess.
Most helpful comment
I don't think a list of _exposed_ symbols would ever be that big, it could be indexed on startup possibly. If you wanted to include transitive dependencies that need to be exposed in the cabal file (which would be cool) it might be a bit big I guess.