Skip to content

Commit cf7ed6a

Browse files
Merge pull request #1548 from DustinCampbell/issue-1524
Completion List should not commit on space in contexts where a lambda expression can be typed
2 parents f1995a0 + c329a11 commit cf7ed6a

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#### Completion List
1010

1111
* No longer trigger completion when a '<' character is typed. ([#1521](https://github.com/OmniSharp/omnisharp-vscode/issues/1521), PR: [#1530](https://github.com/OmniSharp/omnisharp-vscode/pull/1530))
12+
* Completion list no longer triggers on space in contexts where a lambda expression could be typed. ([#1524](https://github.com/OmniSharp/omnisharp-vscode/issues/1524), PR: [#1548](https://github.com/OmniSharp/omnisharp-vscode/pull/1548))
1213

1314
#### Other Updates and Fixes
1415

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "csharp",
33
"publisher": "ms-vscode",
4-
"version": "1.10.0",
4+
"version": "1.11.0-beta1",
55
"description": "C# for Visual Studio Code (powered by OmniSharp).",
66
"displayName": "C#",
77
"author": "Microsoft Corporation",
@@ -123,7 +123,7 @@
123123
},
124124
{
125125
"description": "OmniSharp (.NET 4.6 / x86)",
126-
"url": "https://omnisharpdownload.blob.core.windows.net/ext/omnisharp-win-x86-1.19.1.zip",
126+
"url": "https://omnisharpdownload.blob.core.windows.net/ext/omnisharp-win-x86-1.20.0zip",
127127
"installPath": "./bin/omnisharp",
128128
"platforms": [
129129
"win32"
@@ -135,7 +135,7 @@
135135
},
136136
{
137137
"description": "OmniSharp (.NET 4.6 / x64)",
138-
"url": "https://omnisharpdownload.blob.core.windows.net/ext/omnisharp-win-x64-1.19.1.zip",
138+
"url": "https://omnisharpdownload.blob.core.windows.net/ext/omnisharp-win-x64-1.20.0.zip",
139139
"installPath": "./bin/omnisharp",
140140
"platforms": [
141141
"win32"
@@ -147,7 +147,7 @@
147147
},
148148
{
149149
"description": "OmniSharp (Mono 4.6)",
150-
"url": "https://omnisharpdownload.blob.core.windows.net/ext/omnisharp-mono-1.19.1.zip",
150+
"url": "https://omnisharpdownload.blob.core.windows.net/ext/omnisharp-mono-1.20.0.zip",
151151
"installPath": "./bin/omnisharp",
152152
"platforms": [
153153
"darwin",

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)