public override int CompareTo(CompletionCategory other) { var ncc = other as NodeCompletionCategory; if (ncc != null) { if (isLocalContainer) { return(-1); } if (ncc.isLocalContainer) { return(1); } if (n == ncc.n.Parent) { return(1); } if (n.Parent == ncc.n) { return(-1); } return(0); } return(-1); }
public override int CompareTo(CompletionCategory other) { var compareCategory = other as TypeCompletionCategory; if (compareCategory == null) { return(1); } if (Type.ReflectionName == compareCategory.Type.ReflectionName) { return(0); } // System.Object is always the smallest if (Type.ReflectionName == "System.Object") { return(-1); } if (compareCategory.Type.ReflectionName == "System.Object") { return(1); } /* if (Type.GetProjectContent () != null) { * if (Type.GetProjectContent ().GetInheritanceTree (Type).Any (t => t != null && t.DecoratedFullName == compareCategory.Type.DecoratedFullName)) * return 1; * return -1; * } * * // source project dom == null - try to make the opposite comparison * if (compareCategory.Type.GetProjectContent () != null && compareCategory.Type.GetProjectContent ().GetInheritanceTree (Type).Any (t => t != null && t.DecoratedFullName == Type.DecoratedFullName)) * return -1;*/ return(1); }
public override int CompareTo(CompletionCategory other) { if (other == null) { return(1); } var t1 = symbol as INamedTypeSymbol; if (other is DelegateCreationContextHandler.DelegateCreationCategory) { return(1); } var t2 = ((RoslynCompletionCategory)other).symbol as INamedTypeSymbol; if (t1 != null && t2 != null) { if (t1.AllInterfaces.Contains(t2) || t1.GetBaseTypes().Contains(t2)) { return(-1); } if (t2.AllInterfaces.Contains(t1) || t2.GetBaseTypes().Contains(t1)) { return(1); } } return(this.DisplayText.CompareTo(other.DisplayText)); }
public override int CompareTo(CompletionCategory other) { var n = other as NodeCompletionCategory; if (n != null) { return(weight - n.weight); } return(string.Compare(DisplayText, other.DisplayText, StringComparison.Ordinal)); }
public override int CompareTo (CompletionCategory other) { if (other == null) return 1; var t1 = symbol as INamedTypeSymbol; var t2 = ((RoslynCompletionCategory)other).symbol as INamedTypeSymbol; if (t1 != null && t2 != null) { if (t1.AllInterfaces.Contains (t2) || t1.GetBaseTypes().Contains (t2)) return -1; if (t2.AllInterfaces.Contains (t1) || t2.GetBaseTypes().Contains (t1)) return 1; } return this.DisplayText.CompareTo (other.DisplayText); }
public override int CompareTo(CompletionCategory other) { var compareCategory = other as TypeCompletionCategory; if (compareCategory == null) { return(-1); } int result; if (Type.ReflectionName == compareCategory.Type.ReflectionName) { result = 0; } else if (Type.GetAllBaseTypes().Any(t => t.ReflectionName == compareCategory.Type.ReflectionName)) { result = -1; } else if (compareCategory.Type.GetAllBaseTypes().Any(t => t.ReflectionName == Type.ReflectionName)) { result = 1; } else { var d = Type.GetDefinition(); var ct = compareCategory.Type.GetDefinition(); if (ct.IsStatic && d.IsStatic) { result = d.FullName.CompareTo(ct.FullName); } else if (d.IsStatic) { result = 1; } else if (ct.IsStatic) { result = -1; } else { result = 0; } } return(result); }
public override int CompareTo(CompletionCategory other) { var compareCategory = other as TypeCompletionCategory; if (compareCategory == null) { return(-1); } if (Type.ReflectionName == compareCategory.Type.ReflectionName) { return(0); } if (Type.GetAllBaseTypes().Any(t => t.ReflectionName == compareCategory.Type.ReflectionName)) { return(-1); } return(1); }
static Category GetCategory (List<Category> categories, CompletionCategory completionCategory) { foreach (var cat in categories) { if (cat.CompletionCategory == completionCategory) return cat; } var result = new Category (); result.CompletionCategory = completionCategory; if (completionCategory == null) { categories.Add (result); } else { categories.Insert (0, result); } return result; }
public override int CompareTo (CompletionCategory other) { var compareCategory = other as TypeCompletionCategory; if (compareCategory == null) return -1; int result; if (Type.ReflectionName == compareCategory.Type.ReflectionName) { result = 0; } else if (Type.GetAllBaseTypes().Any(t => t.ReflectionName == compareCategory.Type.ReflectionName)) { result = -1; } else if (compareCategory.Type.GetAllBaseTypes().Any(t => t.ReflectionName == Type.ReflectionName)) { result = 1; } else { var d = Type.GetDefinition (); var ct = compareCategory.Type.GetDefinition(); if (ct.IsStatic && d.IsStatic) { result = d.FullName.CompareTo (ct.FullName); } else if (d.IsStatic) { result = 1; }else if (ct.IsStatic) { result = -1; } else { result = 0; } } return result; }
public override int CompareTo (CompletionCategory other) { var n = other as NodeCompletionCategory; if (n != null) return weight - n.weight; return string.Compare (DisplayText, other.DisplayText, StringComparison.Ordinal); }
public override int CompareTo(CompletionCategory other) { return(String.CompareOrdinal(this.DisplayText, other.DisplayText)); }
public override int CompareTo(CompletionCategory other) { return((other.DisplayText == DisplayText) ? 1 : 0); }
public override int CompareTo(CompletionCategory other) { return String.CompareOrdinal(this.DisplayText, other.DisplayText); }
public override int CompareTo(CompletionCategory other) { return(0); }
public override int CompareTo (CompletionCategory other) { var compareCategory = other as TypeCompletionCategory; if (compareCategory == null) return -1; if (Type.ReflectionName == compareCategory.Type.ReflectionName) return 0; if (Type.GetAllBaseTypes ().Any (t => t.ReflectionName == compareCategory.Type.ReflectionName)) return -1; return 1; }
public override int CompareTo (CompletionCategory other) { var compareCategory = other as TypeCompletionCategory; if (compareCategory == null) return 1; if (Type.ReflectionName == compareCategory.Type.ReflectionName) return 0; // System.Object is always the smallest if (Type.ReflectionName == "System.Object") return -1; if (compareCategory.Type.ReflectionName == "System.Object") return 1; /* if (Type.GetProjectContent () != null) { if (Type.GetProjectContent ().GetInheritanceTree (Type).Any (t => t != null && t.DecoratedFullName == compareCategory.Type.DecoratedFullName)) return 1; return -1; } // source project dom == null - try to make the opposite comparison if (compareCategory.Type.GetProjectContent () != null && compareCategory.Type.GetProjectContent ().GetInheritanceTree (Type).Any (t => t != null && t.DecoratedFullName == Type.DecoratedFullName)) return -1;*/ return 1; }
public override int CompareTo (CompletionCategory other) { TypeCompletionCategory compareCategory = other as TypeCompletionCategory; if (compareCategory == null) return 1; if (Type.DecoratedFullName == compareCategory.Type.DecoratedFullName) return 0; // System.Object is always the smallest if (Type.DecoratedFullName == DomReturnType.Object.DecoratedFullName) return -1; if (compareCategory.Type.DecoratedFullName == DomReturnType.Object.DecoratedFullName) return 1; if (Type.SourceProjectDom != null) { if (Type.SourceProjectDom.GetInheritanceTree (Type).Any (t => t != null && t.DecoratedFullName == compareCategory.Type.DecoratedFullName)) return 1; return -1; } // source project dom == null - try to make the opposite comparison if (compareCategory.Type.SourceProjectDom != null && compareCategory.Type.SourceProjectDom.GetInheritanceTree (Type).Any (t => t != null && t.DecoratedFullName == Type.DecoratedFullName)) return -1; return 1; }
public override int CompareTo(CompletionCategory other) { return(DisplayText.CompareTo(other.DisplayText)); }
public override ICompletionDataList HandleCodeCompletion(CodeCompletionContext completionContext, char completionChar, ref int triggerWordLength) { if (!CanRunCompletionCommand()) { return(null); } if (completionChar == '(' || completionChar == ')' || completionChar == '[' || completionChar == ']' || completionChar == '{' || completionChar == '}' || completionChar == '"' || completionChar == '\'' || completionChar == ';' || completionChar == '=' || completionChar == ' ' || completionChar == '\t' || completionChar == ',') { if (completionChar == '(') { // TODO: Add function args } return(null); // don't show it yet } CompletionDataList ret = new CompletionDataList(); string fullcontext = ""; bool has_namespace = false; if (completionContext.TriggerOffset > 1) { completionContext.TriggerOffset = document.Editor.Caret.Offset; int pos = completionContext.TriggerOffset - 1; while (pos > 1) { char letter = document.Editor.GetCharAt(pos); pos--; if (letter == '.' || letter == ':' || letter == ',' || !ValidVarnameChar(letter)) { has_namespace |= letter == '.' || letter == ':'; break; } } triggerWordLength = completionContext.TriggerOffset - pos - 2; completionContext.TriggerWordLength = triggerWordLength; // now, work out the context bool did_space = false; bool did_namespace = false; while (pos > 1 && has_namespace) { char letter = document.Editor.GetCharAt(pos); if (char.IsWhiteSpace(letter)) { did_space = true; } else if (did_space && !did_namespace && (letter != '.' && letter != ':')) { break; } else if (letter == '.' || letter == ':') { did_namespace = true; fullcontext = letter + fullcontext; } else if (ValidVarnameChar(letter)) { did_namespace = false; did_space = false; fullcontext = letter + fullcontext; } else { break; } pos--; } } if (completionChar == '.' && string.IsNullOrWhiteSpace(fullcontext.Trim(".".ToCharArray()))) { return(null); } if (fullcontext.Trim() == "") { fullcontext = "_G"; } else { fullcontext = fullcontext.TrimEnd(".".ToCharArray()); if (fullcontext.StartsWith("_G.", StringComparison.Ordinal)) { fullcontext = fullcontext.Substring("_G.".Length); } } CompletionCategory cat = null; Action <string> handle_line = delegate(string line) { if (line.Trim().StartsWith("#", StringComparison.Ordinal)) { return; } if (string.IsNullOrWhiteSpace(line)) { return; } string[] split = line.Split("\t".ToCharArray()); string arg0 = split.Length >= 1 ? split[0] : ""; // namespace string arg1 = split.Length >= 2 ? split[1] : ""; // name string arg2 = split.Length >= 3 ? split[2] : ""; // arguments if (arg0 == fullcontext) { string icon = MonoDevelop.Ide.Gui.Stock.Method; string arg = arg2; switch (arg) { case "": icon = "md-keyword"; arg = ""; break; case "{}": icon = MonoDevelop.Ide.Gui.Stock.NameSpace; arg = ""; break; case "#": icon = MonoDevelop.Ide.Gui.Stock.Literal; arg = ""; break; } var elm = ret.Add(arg1 + arg, icon, "", arg1); elm.CompletionCategory = cat; } }; UpdateProjectGlobals(); //UpdateEngineGlobals(); cat = new GlobalCompletionCategory(); foreach (string glob in Globals) { handle_line(glob); } foreach (string glob in ProjectGlobals) { handle_line(glob); } foreach (string glob in EngineGlobals) { handle_line(glob); } cat = new LocalCompletionCategory(); cat.DisplayText = "Locals"; foreach (string glob in GetDocumentLocals()) { handle_line(glob); } return(ret); //return base.HandleCodeCompletion(completionContext, completionChar, ref triggerWordLength); }
Category GetCategory (CompletionCategory completionCategory) { foreach (Category cat in categories) { if (cat.CompletionCategory == completionCategory) return cat; } Category result = new Category (); result.CompletionCategory = completionCategory; if (completionCategory == null) { categories.Add (result); } else { categories.Insert (0, result); } return result; }
public override int CompareTo(CompletionCategory other) { return 0; }
public override int CompareTo (CompletionCategory other) { return DisplayText.CompareTo (other.DisplayText); }