From 798fd8f6f7a9e59d022a92d604f787d4c4a4380e Mon Sep 17 00:00:00 2001 From: filipw Date: Thu, 7 Jan 2021 14:45:11 +0100 Subject: [PATCH 1/2] use variable kind for parameter completion --- .../Services/Completion/CompletionService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionService.cs b/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionService.cs index 5fc9749de4..b7d19f3165 100644 --- a/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionService.cs +++ b/src/OmniSharp.Roslyn.CSharp/Services/Completion/CompletionService.cs @@ -63,7 +63,7 @@ public class CompletionService : { WellKnownTags.Method, CompletionItemKind.Method }, { WellKnownTags.Module, CompletionItemKind.Module }, { WellKnownTags.Operator, CompletionItemKind.Operator }, - { WellKnownTags.Parameter, CompletionItemKind.Value }, + { WellKnownTags.Parameter, CompletionItemKind.Variable }, { WellKnownTags.Property, CompletionItemKind.Property }, { WellKnownTags.RangeVariable, CompletionItemKind.Variable }, { WellKnownTags.Reference, CompletionItemKind.Reference }, From 4a46151fd7d48dc72d7d86288f2e6be842993e0a Mon Sep 17 00:00:00 2001 From: filipw Date: Thu, 7 Jan 2021 14:45:31 +0100 Subject: [PATCH 2/2] added parameter completion test --- .../CompletionFacts.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/OmniSharp.Roslyn.CSharp.Tests/CompletionFacts.cs b/tests/OmniSharp.Roslyn.CSharp.Tests/CompletionFacts.cs index f6b339d179..4a8dfe03d8 100644 --- a/tests/OmniSharp.Roslyn.CSharp.Tests/CompletionFacts.cs +++ b/tests/OmniSharp.Roslyn.CSharp.Tests/CompletionFacts.cs @@ -66,6 +66,25 @@ public Class1() Assert.Contains("foo", completions.Items.Select(c => c.TextEdit.NewText)); } + [Theory] + [InlineData("dummy.cs")] + [InlineData("dummy.csx")] + public async Task ParameterCompletion(string filename) + { + const string input = + @"public class Class1 { + public Class1(string foo) + { + foo$$ + } + }"; + + var completions = await FindCompletionsAsync(filename, input, SharedOmniSharpTestHost); + Assert.Contains("foo", completions.Items.Select(c => c.Label)); + Assert.Contains("foo", completions.Items.Select(c => c.TextEdit.NewText)); + Assert.Equal(CompletionItemKind.Variable, completions.Items.First(c => c.TextEdit.NewText == "foo").Kind); + } + [Theory] [InlineData("dummy.cs")] [InlineData("dummy.csx")]