Browse Source

Fixed build.

Assign priority to keywords in code completion.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5677 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 16 years ago
parent
commit
44de5f2def
  1. 6
      src/AddIns/DisplayBindings/XmlEditor/Test/Completion/CompleteCompletionItemListTestFixture.cs
  2. 25
      src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs

6
src/AddIns/DisplayBindings/XmlEditor/Test/Completion/CompleteCompletionItemListTestFixture.cs

@ -42,6 +42,10 @@ namespace XmlEditor.Tests.Completion @@ -42,6 +42,10 @@ namespace XmlEditor.Tests.Completion
ICSharpCode.SharpDevelop.IImage ICompletionItem.Image {
get { return null; }
}
}
double ICompletionItem.Priority {
get { return 0; }
}
}
}

25
src/Main/Base/Project/Src/Editor/CodeCompletion/CodeCompletionItemProvider.cs

@ -164,12 +164,12 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion @@ -164,12 +164,12 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion
IEntity entity = o as IEntity;
if (entity != null) {
return new CodeCompletionItem(entity);
} else if (o is Dom.NRefactoryResolver.KeywordEntry) {
return new KeywordCompletionItem(o.ToString());
} else {
DefaultCompletionItem item = new DefaultCompletionItem(o.ToString());
if (o is NamespaceEntry)
item.Image = ClassBrowserIconService.Namespace;
else if (o is Dom.NRefactoryResolver.KeywordEntry)
item.Image = ClassBrowserIconService.Keyword;
return item;
}
}
@ -180,6 +180,27 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion @@ -180,6 +180,27 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion
}
sealed class KeywordCompletionItem : DefaultCompletionItem
{
readonly double priority;
public KeywordCompletionItem(string text) : base(text)
{
this.Image = ClassBrowserIconService.Keyword;
priority = CodeCompletionDataUsageCache.GetPriority("keyword." + this.Text, true);
}
public override double Priority {
get { return priority; }
}
public override void Complete(CompletionContext context)
{
CodeCompletionDataUsageCache.IncrementUsage("keyword." + this.Text);
base.Complete(context);
}
}
public class CodeCompletionItem : ICompletionItem
{
public double Priority { get; set; }

Loading…
Cancel
Save