Skip to content

Commit 8c30147

Browse files
Only use space as a commit character if 'IsSuggestionMode' is false
1 parent 54e7f3f commit 8c30147

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/features/completionItemProvider.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,15 @@ import {CompletionItemProvider, CompletionItem, CompletionItemKind, Cancellation
1515
export default class OmniSharpCompletionItemProvider extends AbstractSupport implements CompletionItemProvider {
1616

1717
// copied from Roslyn here: https://github.com/dotnet/roslyn/blob/6e8f6d600b6c4bc0b92bc3d782a9e0b07e1c9f8e/src/Features/Core/Portable/Completion/CompletionRules.cs#L166-L169
18-
private static DefaultCommitCharacters = [
18+
private static AllCommitCharacters = [
1919
' ', '{', '}', '[', ']', '(', ')', '.', ',', ':',
2020
';', '+', '-', '*', '/', '%', '&', '|', '^', '!',
2121
'~', '=', '<', '>', '?', '@', '#', '\'', '\"', '\\'];
22+
23+
private static CommitCharactersWithoutSpace = [
24+
'{', '}', '[', ']', '(', ')', '.', ',', ':',
25+
';', '+', '-', '*', '/', '%', '&', '|', '^', '!',
26+
'~', '=', '<', '>', '?', '@', '#', '\'', '\"', '\\'];
2227

2328
public provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken): Promise<CompletionItem[]> {
2429

@@ -55,7 +60,10 @@ export default class OmniSharpCompletionItemProvider extends AbstractSupport imp
5560
completion.documentation = extractSummaryText(response.Description);
5661
completion.kind = _kinds[response.Kind] || CompletionItemKind.Property;
5762
completion.insertText = response.CompletionText.replace(/<>/g, '');
58-
completion.commitCharacters = OmniSharpCompletionItemProvider.DefaultCommitCharacters;
63+
64+
completion.commitCharacters = response.IsSuggestionMode
65+
? OmniSharpCompletionItemProvider.CommitCharactersWithoutSpace
66+
: OmniSharpCompletionItemProvider.AllCommitCharacters;
5967

6068
let array = completions[completion.label];
6169
if (!array) {

src/omnisharp/protocol.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ export interface AutoCompleteResponse {
267267
ReturnType: string;
268268
Snippet: string;
269269
Kind: string;
270+
IsSuggestionMode: boolean;
270271
}
271272

272273
export interface ProjectInformationResponse {

0 commit comments

Comments
 (0)