Conversation
Member
|
This sounds really great! Is the main blocker right now the second issue? I assume the first one is workaround-able or we can put this behind a flag until we resolve it. |
Collaborator
Author
|
Yeah, second issue is the blocker. I don't remember off the top of my head, but I don't think there's any way for us to register an event listener when tab-completion "uses" a completion item. If there was, we could maybe rewrite the input to replace |
Collaborator
Author
|
I did some more research here. Rewriting the line of input can be done like this: Implementation must:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Took a quick stab at completions in the REPL.
Issues:
first time you get tab completions, the input line freezes while the language service spins up. We'd probably want to force it to spin up before the first prompt is shown
TS tab completions sometimes replace already-entered text. For example, they may propose rewriting
.finto?.fooNode's built-in completion doesn't support this. Is it worth using a third-party library? Does one exist with the features we need?