提交 c71c177d 编写于 作者: R Ravi Chande

Commit C# completion on colon

上级 8c3ff5b3
......@@ -456,5 +456,55 @@ static void Main()
";
await VerifyNoItemsExistAsync(markup);
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
public async Task CommitWithColonWordFullyTyped()
{
var markup = @"
class Program
{
static void Main(string[] args)
{
Main(args$$)
}
}
";
var expected = @"
class Program
{
static void Main(string[] args)
{
Main(args:)
}
}
";
await VerifyProviderCommitAsync(markup, "args:", expected, ':', "args");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
public async Task CommitWithColonWordPartiallyTyped()
{
var markup = @"
class Program
{
static void Main(string[] args)
{
Main(ar$$)
}
}
";
var expected = @"
class Program
{
static void Main(string[] args)
{
Main(args:)
}
}
";
await VerifyProviderCommitAsync(markup, "args:", expected, ':', "arg");
}
}
}
......@@ -22,6 +22,8 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
internal partial class NamedParameterCompletionProvider : CommonCompletionProvider, IEqualityComparer<IParameterSymbol>
{
private const string ColonString = ":";
private static readonly CompletionItemRules CompletionItemRules = CompletionItemRules.Default
.WithFilterCharacterRule(CharacterSetModificationRule.Create(CharacterSetModificationKind.Remove, ':'));
internal override bool IsInsertionTrigger(SourceText text, int characterPosition, OptionSet options)
{
......@@ -96,7 +98,7 @@ public override async Task ProvideCompletionsAsync(CompletionContext context)
symbol: parameter,
contextPosition: token.SpanStart,
filterText: escapedName,
rules: CompletionItemRules.Default,
rules: CompletionItemRules,
matchPriority: SymbolMatchPriority.PreferNamedArgument));
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册