Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs39
1 files changed, 30 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
index 2303d06b5e..e93c4687d0 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
@@ -30,11 +30,11 @@ using System;
using System.Collections.Generic;
using System.Linq;
using MonoDevelop.Core;
-using ICSharpCode.NRefactory.Completion;
+using MonoDevelop.Ide.Editor.Extension;
namespace MonoDevelop.Ide.CodeCompletion
{
- public class CompletionData : ICompletionData, IComparable
+ public class CompletionData : IComparable
{
protected CompletionData () {}
@@ -43,6 +43,13 @@ namespace MonoDevelop.Ide.CodeCompletion
public virtual string Description { get; set; }
public virtual string CompletionText { get; set; }
+ /// <summary>
+ /// int.MaxValue == highest prioriy,
+ /// -int.MaxValue == lowest priority
+ /// </summary>
+ /// <value>The priority group.</value>
+ public virtual int PriorityGroup { get { return 0; } }
+
public virtual string GetDisplayDescription (bool isSelected)
{
return null;
@@ -70,13 +77,13 @@ namespace MonoDevelop.Ide.CodeCompletion
}
}
- public virtual IEnumerable<ICompletionData> OverloadedData {
+ public virtual IReadOnlyList<CompletionData> OverloadedData {
get {
throw new InvalidOperationException ();
}
}
- public virtual void AddOverload (ICompletionData data)
+ public virtual void AddOverload (CompletionData data)
{
throw new InvalidOperationException ();
}
@@ -102,7 +109,7 @@ namespace MonoDevelop.Ide.CodeCompletion
return result;
}
- public virtual void InsertCompletionText (CompletionListWindow window, ref KeyActions ka, Gdk.Key closeChar, char keyChar, Gdk.ModifierType modifier)
+ public virtual void InsertCompletionText (CompletionListWindow window, ref KeyActions ka, KeyDescriptor descriptor)
{
var currentWord = GetCurrentWord (window);
window.CompletionWidget.SetCompletionText (window.CodeCompletionContext, currentWord, CompletionText);
@@ -117,12 +124,12 @@ namespace MonoDevelop.Ide.CodeCompletion
public virtual int CompareTo (object obj)
{
- if (!(obj is ICompletionData))
+ if (!(obj is CompletionData))
return 0;
- return Compare (this, (ICompletionData)obj);
+ return Compare (this, (CompletionData)obj);
}
- public static int Compare (ICompletionData a, ICompletionData b)
+ public static int Compare (CompletionData a, CompletionData b)
{
var result = ((a.DisplayFlags & DisplayFlags.Obsolete) == (b.DisplayFlags & DisplayFlags.Obsolete)) ? StringComparer.OrdinalIgnoreCase.Compare (a.DisplayText, b.DisplayText) : (a.DisplayFlags & DisplayFlags.Obsolete) != 0 ? 1 : -1;
if (result == 0) {
@@ -133,7 +140,7 @@ namespace MonoDevelop.Ide.CodeCompletion
if (aIsImport && !bIsImport)
return 1;
if (aIsImport && bIsImport)
- return StringComparer.Ordinal.Compare (a.Description, b.Description);
+ return StringComparer.Ordinal.Compare (((CompletionData)a).Description, ((CompletionData)b).Description);
var ca = a as CompletionData;
var cb = b as CompletionData;
if (ca != null && cb != null && !ca.Icon.IsNull && !cb.Icon.IsNull) {
@@ -144,5 +151,19 @@ namespace MonoDevelop.Ide.CodeCompletion
}
#endregion
+
+ protected string ApplyDiplayFlagsFormatting (string markup)
+ {
+ if (!HasOverloads && (DisplayFlags & DisplayFlags.Obsolete) != 0 || HasOverloads && OverloadedData.All (data => (data.DisplayFlags & DisplayFlags.Obsolete) != 0))
+ return "<s>" + markup + "</s>";
+ if ((DisplayFlags & DisplayFlags.MarkedBold) != 0)
+ return "<b>" + markup + "</b>";
+ return markup;
+ }
+
+ public virtual string GetDisplayTextMarkup ()
+ {
+ return ApplyDiplayFlagsFormatting (GLib.Markup.EscapeText (DisplayText));
+ }
}
}