void okButtonClick(object sender, RoutedEventArgs e) { try { if (listBox.SelectedItem == null) return; object tag = ((GotoEntry)listBox.SelectedItem).Tag; if (tag is int) { ITextEditor editor = GetEditor(); if (editor != null) { int i = Math.Min(editor.Document.TotalNumberOfLines, Math.Max(1, (int)tag)); editor.JumpTo(i, int.MaxValue); } } else if (tag is IClass) { IClass c = tag as IClass; CodeCompletionDataUsageCache.IncrementUsage(c.DotNetName); GotoRegion(c.Region, c.CompilationUnit.FileName); } else if (tag is IMember) { IMember m = tag as IMember; CodeCompletionDataUsageCache.IncrementUsage(m.DotNetName); GotoRegion(m.Region, m.DeclaringType.CompilationUnit.FileName); } else if (tag is FileLineReference) { FileLineReference flref = (FileLineReference)tag; if (flref.Line <= 0) { FileService.OpenFile(flref.FileName); } else { FileService.JumpToFilePosition(flref.FileName, flref.Line, flref.Column); } } else { throw new NotImplementedException("Unknown tag: " + tag); } } finally { Close(); } }
void AddItemIfMatchText(string text, IMember member, int imageIndex) { string name = member.Name; int matchType = GetMatchType(text, name); if (matchType >= 0) { AddItem(member, imageIndex, CodeCompletionDataUsageCache.GetPriority(member.DotNetName, true), matchType); } }
void AddItemIfMatchText(string text, IMember member, int imageIndex) { string name = member.Name; if (name.Length >= text.Length) { if (text.Equals(name.Substring(0, text.Length), StringComparison.OrdinalIgnoreCase)) { AddItem(member, imageIndex, CodeCompletionDataUsageCache.GetPriority(member.DotNetName, true)); } } }
void okButtonClick(object sender, RoutedEventArgs e) { try { if (listBox.SelectedItem == null) { return; } object tag = ((GotoEntry)listBox.SelectedItem).Tag; if (tag is int) { ITextEditor editor = GetEditor(); if (editor != null) { int i = Math.Min(editor.Document.LineCount, Math.Max(1, (int)tag)); editor.JumpTo(i, int.MaxValue); } } else if (tag is IUnresolvedEntity) { IUnresolvedEntity c = tag as IUnresolvedEntity; CodeCompletionDataUsageCache.IncrementUsage(c.ReflectionName); GotoRegion(c.Region); } else if (tag is IEntity) { IEntity m = tag as IEntity; CodeCompletionDataUsageCache.IncrementUsage(m.ReflectionName); GotoRegion(m.Region); } else if (tag is FileLineReference) { FileLineReference flref = (FileLineReference)tag; if (flref.Line <= 0) { FileService.OpenFile(flref.FileName); } else { FileService.JumpToFilePosition(flref.FileName, flref.Line, flref.Column); } } else { throw new NotImplementedException("Unknown tag: " + tag); } } finally { Close(); } }
public SnippetCompletionItem(ITextEditor textEditor, CodeSnippet codeSnippet) { if (textEditor == null) { throw new ArgumentNullException("textEditor"); } if (codeSnippet == null) { throw new ArgumentNullException("codeSnippet"); } this.textEditor = textEditor; this.textArea = textEditor.GetService(typeof(TextArea)) as TextArea; if (textArea == null) { throw new ArgumentException("textEditor must be an AvalonEdit text editor"); } this.codeSnippet = codeSnippet; this.Priority = CodeCompletionDataUsageCache.GetPriority("snippet" + codeSnippet.Name, true); }
public CodeCompletionItem(IEntity entity, IProjectContent projectContent) { if (entity == null) { throw new ArgumentNullException("entity"); } _entity = entity; _projectContent = projectContent; IAmbience ambience = AmbienceService.GetCurrentAmbience(); ambience.ConversionFlags = entity is IClass ? ConversionFlags.ShowTypeParameterList : ConversionFlags.None; Text = entity.Name; Content = ambience.Convert(entity); Overloads = 1; Priority = CodeCompletionDataUsageCache.GetPriority(entity.DotNetName, true); }
public void Complete(CompletionContext context) { if (context.Editor != this.textEditor) { throw new ArgumentException("wrong editor"); } CodeCompletionDataUsageCache.IncrementUsage("snippet" + codeSnippet.Name); using (context.Editor.Document.OpenUndoGroup()) { if (context.CompletionChar == '\t' || AlwaysInsertSnippet) { codeSnippet.TrackUsage("SnippetCompletionItem"); context.Editor.Document.Remove(context.StartOffset, context.Length); CreateSnippet().Insert(textArea); } else { context.Editor.Document.Replace(context.StartOffset, context.Length, this.Text); } } }
void AddItem(IClass c, int matchType) { AddItem(c, ClassBrowserIconService.GetIcon(c), CodeCompletionDataUsageCache.GetPriority(c.DotNetName, true), matchType); }
public virtual void Complete(CompletionContext context) { context.Editor.Document.Replace(context.StartOffset, context.Length, this.CompletionText); context.EndOffset = context.StartOffset + this.CompletionText.Length; CodeCompletionDataUsageCache.IncrementUsage(DisplayText); }
public KeywordCompletionItem(string text) : base(text) { priority = CodeCompletionDataUsageCache.GetPriority("keyword." + Text, true); }
public override void Complete(CompletionContext context) { CodeCompletionDataUsageCache.IncrementUsage("keyword." + Text); base.Complete(context); }
protected void MarkAsUsed() { CodeCompletionDataUsageCache.IncrementUsage(_entity.DotNetName); }