提交 83d299c5 编写于 作者: R Ravi Chande

Add a test for committing C# named parameters on :

上级 c71c177d
......@@ -1929,5 +1929,26 @@ class Program
Await state.AssertSelectedCompletionItem("Add", description:="void List<T>.Add(T item)")
End Using
End Function
<WpfFact, Trait(Traits.Feature, Traits.Features.Completion)>
Public Async Function TestCommitNamedParameterWithColon() As Task
Using state = TestState.CreateCSharpTestState(
<Document><![CDATA[
using System.Collections.Generic;
class Program
{
static void Main(int args)
{
Main(args$$
}
}]]></Document>, extraExportedTypes:={GetType(CSharpEditorFormattingService)}.ToList())
state.SendInvokeCompletionList()
state.SendTypeChars(":")
Await state.AssertNoCompletionSession()
Assert.Contains("args:", state.GetLineTextFromCaretPosition())
End Using
End Function
End Class
End Namespace
\ No newline at end of file
......@@ -22,7 +22,10 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
internal partial class NamedParameterCompletionProvider : CommonCompletionProvider, IEqualityComparer<IParameterSymbol>
{
private const string ColonString = ":";
private static readonly CompletionItemRules CompletionItemRules = CompletionItemRules.Default
// Explicitly remove ":" from the set of filter characters because (by default)
// any character that appears in DisplayText gets treated as a filter char.
private static readonly CompletionItemRules s_rules = CompletionItemRules.Default
.WithFilterCharacterRule(CharacterSetModificationRule.Create(CharacterSetModificationKind.Remove, ':'));
internal override bool IsInsertionTrigger(SourceText text, int characterPosition, OptionSet options)
......@@ -98,7 +101,7 @@ public override async Task ProvideCompletionsAsync(CompletionContext context)
symbol: parameter,
contextPosition: token.SpanStart,
filterText: escapedName,
rules: CompletionItemRules,
rules: s_rules,
matchPriority: SymbolMatchPriority.PreferNamedArgument));
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册