Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Previously IdeMode was not able to suggest completions for symbols outside of what is already imported.
This PR adds a new command line option
--ide-index
, which:--ide-mode
, if neither--ide-mode
nor--ide-mode-socket
is set.ROpts
before starting the IdeMode loop.I've also tried out the new functionality in a fork of meraymond2/idris-vscode, and will be creating a pull request there if this gets merged. I've not done anything for the emacs-mode or other tools.
The auto-import completions are just the first of multiple IDE features that could benefit from such an index.
Behaviour should be unchanged as long as
--ide-index
is not set.Demo:
ide-index-auto-import-demo.mov
Things I'm unsure of:
I had to export some previously private functions inCore.Binary
to help with loading the TTC files. Might be better to use the functionreadFromTTC
, which was already exported?GlobalDef
s. Not sure how much memory that's guzzling.Self-check
CONTRIBUTING.md
and I've updated
CONTRIBUTORS.md
with my name.implementation, I have updated
CHANGELOG_NEXT.md