Description
Various things that shouldn't be commit characters are causing the editor to accept the completion. Some examples I've hit immediately:
-
Parameter name completion, hitting
,
or)
after a short identifier will cause the completion to be accepted.
I think this is just not implemented soft-select: there's 2 completion modes in Roslyn, hard select (when things like
enter
/punctuation should be considered commit characters) and soft select, when it shouldn't. I think you likely need to steal some of my code from O# around looking for suggestion mode:https://github.com/OmniSharp/omnisharp-roslyn/blob/master/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionService.cs#L134
https://github.com/OmniSharp/omnisharp-roslyn/blob/master/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionListBuilder.cs#L98-L161 -
Enter
after the{
accepts the completion element.
This looks like completion being triggered in locations where it should not. We're probably going to need to write an accessor for this: https://github.com/OmniSharp/omnisharp-roslyn/blob/master/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionService.cs#L88-L89.