Browse Source

replace | with caret in "literal" completion items (delegate templates, etc.)

newNR
Siegfried Pammer 12 years ago
parent
commit
5b76ce55ed
  1. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs
  2. 22
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/XmlDocCompletionData.cs

2
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs

@ -77,7 +77,7 @@ namespace CSharpBinding.Completion @@ -77,7 +77,7 @@ namespace CSharpBinding.Completion
ICompletionData ICompletionDataFactory.CreateLiteralCompletionData(string title, string description, string insertText)
{
return new CompletionData(title) {
return new LiteralCompletionData(title) {
Description = description,
CompletionText = insertText ?? title,
Image = ClassBrowserIconService.Keyword

22
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/XmlDocCompletionData.cs

@ -31,6 +31,28 @@ namespace CSharpBinding.Completion @@ -31,6 +31,28 @@ namespace CSharpBinding.Completion
}
}
}
/// <summary>
/// Completion item for a literal.
/// </summary>
class LiteralCompletionData : CompletionData
{
public LiteralCompletionData(string title)
: base(title)
{
}
public override void Complete(CompletionContext context)
{
int index = CompletionText.IndexOf('|');
if (index > -1) {
context.Editor.Document.Replace(context.StartOffset, context.Length, CompletionText.Remove(index, 1));
context.Editor.Caret.Offset = context.StartOffset + index;
} else {
base.Complete(context);
}
}
}
}

Loading…
Cancel
Save