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 }, 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")]