public CodeCompletionWindow(ITextEditor editor, TextArea textArea, ICompletionItemList itemList) : base(textArea) { if (editor == null) { throw new ArgumentNullException("editor"); } if (itemList == null) { throw new ArgumentNullException("itemList"); } if (!itemList.ContainsAllAvailableItems) { // If more items are available (Ctrl+Space wasn't pressed), show this hint this.EmptyText = "Press Ctrl+Space to show items from all namespaces"; } //InitializeComponent(); this.Editor = editor; this.itemList = itemList; ICompletionItem suggestedItem = itemList.SuggestedItem; foreach (ICompletionItem item in itemList.Items) { ICompletionData adapter = new CodeCompletionDataAdapter(this, item); this.CompletionList.CompletionData.Add(adapter); if (item == suggestedItem) { this.CompletionList.SelectedItem = adapter; } } this.StartOffset -= itemList.PreselectionLength; }
public SharpDevelopCompletionWindow(ITextEditor editor, TextArea textArea, ICompletionItemList itemList) : base(textArea) { if (editor == null) { throw new ArgumentNullException("editor"); } if (itemList == null) { throw new ArgumentNullException("itemList"); } if (!itemList.ContainsAllAvailableItems) { // If more items are available (Ctrl+Space wasn't pressed), show this hint EmptyText = "Empty"; } Editor = editor; this.itemList = itemList; ICompletionItem suggestedItem = itemList.SuggestedItem; foreach (var item in itemList.Items) { ICompletionData adapter = new CodeCompletionDataAdapter(this, item); CompletionList.CompletionData.Add(adapter); if (item == suggestedItem) { CompletionList.SelectedItem = adapter; } } StartOffset -= itemList.PreselectionLength; Width = 250; }
protected void TestTextInsert(string file, char completionChar, ICompletionItemList list, ICompletionItem item, string expectedOutput, int expectedOffset) { int insertionPoint = file.IndexOf('|'); if (insertionPoint < 0) Assert.Fail("insertionPoint not found in text!"); this.textEditor.Document.Text = file.Replace("|", ""); this.textEditor.Caret.Offset = insertionPoint; this.textEditor.CreateParseInformation(); CompletionContext context = new CompletionContext() { Editor = this.textEditor, CompletionChar = completionChar, StartOffset = textEditor.Caret.Offset, EndOffset = textEditor.Caret.Offset }; list.Complete(context, item); if (!context.CompletionCharHandled && context.CompletionChar != '\n') this.textEditor.Document.Insert(this.textEditor.Caret.Offset, completionChar + ""); string insertedText = this.textEditor.Document.GetText(insertionPoint, this.textEditor.Document.TextLength - file.Length + 1); Assert.AreEqual(expectedOutput, insertedText); Assert.AreEqual(insertionPoint + expectedOffset, textEditor.Caret.Offset); }
public SharpDevelopCompletionWindow(ITextEditor editor, TextArea textArea, ICompletionItemList itemList) : base(textArea) { if (editor == null) { throw new ArgumentNullException("editor"); } if (itemList == null) { throw new ArgumentNullException("itemList"); } if (!itemList.ContainsAllAvailableItems) { // If more items are available (Ctrl+Space wasn't pressed), show this hint this.EmptyText = StringParser.Parse("${res:ICSharpCode.AvalonEdit.AddIn.SharpDevelopCompletionWindow.EmptyText}"); } InitializeComponent(); this.Editor = editor; this.itemList = itemList; ICompletionItem suggestedItem = itemList.SuggestedItem; foreach (ICompletionItem item in itemList.Items) { ICompletionData adapter = new CodeCompletionDataAdapter(this, item); this.CompletionList.CompletionData.Add(adapter); if (item == suggestedItem) { this.CompletionList.SelectedItem = adapter; } } this.StartOffset -= itemList.PreselectionLength; }
public void Insert(CompletionContext context, ICompletionItem item) { if (item == null) throw new ArgumentNullException("item"); if (!(item is OverrideCompletionItem)) throw new ArgumentException("item is not an OverrideCompletionItem"); OverrideCompletionItem completionItem = item as OverrideCompletionItem; ITextEditor textEditor = context.Editor; IEditorUIService uiService = textEditor.GetService(typeof(IEditorUIService)) as IEditorUIService; if (uiService == null) return; ParseInformation parseInfo = ParserService.GetParseInformation(textEditor.FileName); if (parseInfo == null) return; CodeGenerator generator = parseInfo.CompilationUnit.Language.CodeGenerator; IClass current = parseInfo.CompilationUnit.GetInnermostClass(textEditor.Caret.Line, textEditor.Caret.Column); ClassFinder finder = new ClassFinder(current, textEditor.Caret.Line, textEditor.Caret.Column); if (current == null) return; using (textEditor.Document.OpenUndoGroup()) { ITextAnchor startAnchor = textEditor.Document.CreateAnchor(textEditor.Caret.Offset); startAnchor.MovementType = AnchorMovementType.BeforeInsertion; ITextAnchor endAnchor = textEditor.Document.CreateAnchor(textEditor.Caret.Offset); endAnchor.MovementType = AnchorMovementType.AfterInsertion; MethodDeclaration member = (MethodDeclaration)generator.GetOverridingMethod(completionItem.Member, finder); string indent = DocumentUtilitites.GetWhitespaceBefore(textEditor.Document, textEditor.Caret.Offset); string codeForBaseCall = generator.GenerateCode(member.Body.Children.OfType<AbstractNode>().First(), ""); string code = generator.GenerateCode(member, indent); int marker = code.IndexOf(codeForBaseCall); textEditor.Document.Insert(startAnchor.Offset, code.Substring(0, marker).TrimStart()); ITextAnchor insertionPos = textEditor.Document.CreateAnchor(endAnchor.Offset); insertionPos.MovementType = AnchorMovementType.BeforeInsertion; InsertionContext insertionContext = new InsertionContext(textEditor.GetService(typeof(TextArea)) as TextArea, startAnchor.Offset); AbstractInlineRefactorDialog dialog = new OverrideEqualsGetHashCodeMethodsDialog(insertionContext, textEditor, startAnchor, endAnchor, insertionPos, current, completionItem.Member as IMethod, codeForBaseCall.Trim()); dialog.Element = uiService.CreateInlineUIElement(insertionPos, dialog); textEditor.Document.InsertNormalized(endAnchor.Offset, Environment.NewLine + code.Substring(marker + codeForBaseCall.Length)); insertionContext.RegisterActiveElement(new InlineRefactorSnippetElement(cxt => null, ""), dialog); insertionContext.RaiseInsertionCompleted(EventArgs.Empty); } }
public void Complete(CompletionContext context, ICompletionItem item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } item.Complete(context); }
public override void Complete(CompletionContext context, ICompletionItem item) { base.Complete(context, item); if (item.Text == "..") { VBNetCompletionBinding.Instance.CtrlSpace(context.Editor); } }
void InsertItem(ICompletionItem item) { if (item == null) { throw new InvalidOperationException("ICompletionItem is null. Something is wrong with the hackish ItemClicked event."); } item.Insert(); }
public override void Complete(CompletionContext context, ICompletionItem item) { base.Complete(context, item); if (item.Text == "..") { VBNetCompletionBinding.Instance.CtrlSpace(context.Editor); } }
bool FitsToContext(ICompletionItem item, List<ICompletionItem> list) { if (!(item is ISnippetCompletionItem)) return false; var snippetItem = item as ISnippetCompletionItem; if (string.IsNullOrEmpty(snippetItem.Keyword)) return true; return list.Any(x => x.Image == ClassBrowserIconService.Keyword && x.Text == snippetItem.Keyword); }
public CodeCompletionDataAdapter(SharpDevelopCompletionWindow window, ICompletionItem item) { if (window == null) { throw new ArgumentNullException("window"); } if (item == null) { throw new ArgumentNullException("item"); } this.window = window; this.item = item; this.fancyCompletionItem = item as IFancyCompletionItem; }
/// <inheritdoc/> public virtual void Complete(CompletionContext context, ICompletionItem item) { if (context == null) throw new ArgumentNullException("context"); if (item == null) throw new ArgumentNullException("item"); if (InsertSpace) { InsertSpace = false; context.Editor.Document.Insert(context.StartOffset, " "); context.StartOffset++; context.EndOffset++; } item.Complete(context); }
//readonly IFancyCompletionItem fancyCompletionItem; public CodeCompletionDataAdapter(SharpDevelopCompletionWindow window, ICompletionItem item) { if (window == null) { throw new ArgumentNullException(nameof(window)); } if (item == null) { throw new ArgumentNullException(nameof(item)); } _window = window; _item = item; //this.fancyCompletionItem = item as IFancyCompletionItem; }
public void OverrideVirtualEvent() { CompletionContext context = new CompletionContext(); context.Editor = textEditor; context.StartOffset = textEditor.Caret.Offset; context.EndOffset = textEditor.Caret.Offset; ICompletionItem item = textEditor.LastCompletionItemList.Items.First(i => i.Text == "VirtualEvent"); textEditor.LastCompletionItemList.Complete(context, item); Assert.AreEqual(Normalize( programStart + "public override event EventHandler VirtualEvent;" + programEnd), Normalize(textEditor.Document.Text) ); }
private bool FitsToContext(ICompletionItem item, List <ICompletionItem> list) { if (!(item is ISnippetCompletionItem)) { return(false); } var snippetItem = item as ISnippetCompletionItem; if (string.IsNullOrEmpty(snippetItem.Keyword)) { return(true); } return(list.Any(x => x.Text == snippetItem.Keyword)); }
public static DefaultCompletionItemList ConvertCompletionData(DefaultCompletionItemList result, List <ICompletionEntry> arr, ExpressionContext context) { if (arr == null) { return(result); } Dictionary <string, CodeCompletionItem> methodItems = new Dictionary <string, CodeCompletionItem>(); foreach (ICompletionEntry o in arr) { if (context != null && !context.ShowEntry(o)) { continue; } IMethod method = o as IMethod; if (method != null) { CodeCompletionItem codeItem; if (methodItems.TryGetValue(method.Name, out codeItem)) { codeItem.Overloads++; continue; } } ICompletionItem item = CreateCompletionItem(o, context); if (item != null) { result.Items.Add(item); CodeCompletionItem codeItem = item as CodeCompletionItem; if (method != null && codeItem != null) { methodItems[method.Name] = codeItem; } } } // Suggested entry (List<int> a = new => suggest List<int>). if (context.SuggestedItem is SuggestedCodeCompletionItem) { result.SuggestedItem = (SuggestedCodeCompletionItem)context.SuggestedItem; result.Items.Insert(0, result.SuggestedItem); } return(result); }
bool FitsToContext(ICompletionItem item, List <ICompletionItem> list) { if (!(item is ISnippetCompletionItem)) { return(false); } var snippetItem = item as ISnippetCompletionItem; if (string.IsNullOrEmpty(snippetItem.Keyword)) { return(true); } return(list.Any(x => x.Image == ClassBrowserIconService.Keyword && x.Text == snippetItem.Keyword)); }
public void OverrideVirtualProperty() { CompletionContext context = new CompletionContext(); context.Editor = textEditor; context.StartOffset = textEditor.Caret.Offset; context.EndOffset = textEditor.Caret.Offset; ICompletionItem item = textEditor.LastCompletionItemList.Items.First(i => i.Text == "VirtualProperty"); textEditor.LastCompletionItemList.Complete(context, item); Assert.AreEqual(Normalize( programStart + "public override int VirtualProperty {\n" + " get { return base.VirtualProperty; }\n" + " set { base.VirtualProperty = value; }\n" + " }" + programEnd), Normalize(textEditor.Document.Text) ); }
public void OverrideAbstractMethod() { CompletionContext context = new CompletionContext(); context.Editor = textEditor; context.StartOffset = textEditor.Caret.Offset; context.EndOffset = textEditor.Caret.Offset; ICompletionItem item = textEditor.LastCompletionItemList.Items.First(i => i.Text == "AbstractMethod()"); textEditor.LastCompletionItemList.Complete(context, item); Assert.AreEqual(Normalize( programStart + "public override void AbstractMethod()\n" + " {\n" + " throw new NotImplementedException();\n" + " }" + programEnd), Normalize(textEditor.Document.Text) ); }
protected void TestTextInsert(string fileHeader, string fileFooter, char completionChar, ICompletionItemList list, ICompletionItem item, string expectedOutput, int expectedOffset) { this.textEditor.Document.Text = fileHeader + fileFooter; this.textEditor.Caret.Offset = fileHeader.Length; this.textEditor.CreateParseInformation(); CompletionContext context = new CompletionContext() { Editor = this.textEditor, CompletionChar = completionChar, StartOffset = textEditor.Caret.Offset, EndOffset = textEditor.Caret.Offset }; list.Complete(context, item); if (!context.CompletionCharHandled && context.CompletionChar != '\n') this.textEditor.Document.Insert(this.textEditor.Caret.Offset, completionChar + ""); string insertedText = this.textEditor.Document.GetText(fileHeader.Length, this.textEditor.Document.TextLength - fileHeader.Length - fileFooter.Length); Assert.AreEqual(expectedOutput, insertedText); Assert.AreEqual(fileHeader.Length + expectedOffset, textEditor.Caret.Offset); }
/// <inheritdoc/> public virtual void Complete(CompletionContext context, ICompletionItem item) { if (context == null) throw new ArgumentNullException("context"); if (item == null) throw new ArgumentNullException("item"); if (InsertSpace) { InsertSpace = false; context.Editor.Document.Insert(context.StartOffset, " "); context.StartOffset++; context.EndOffset++; } item.Complete(context); }
public override void Complete(CompletionContext context, ICompletionItem item) { using (context.Editor.Document.OpenUndoGroup()) { base.Complete(context, item); XamlCompletionContext xamlContext = XamlContextResolver.ResolveCompletionContext(context.Editor, context.CompletionChar); if (xamlContext.Description == XamlContextDescription.None && (context.StartOffset <= 0 || context.Editor.Document.GetCharAt(context.StartOffset - 1) != '<')) { context.Editor.Document.Insert(context.StartOffset, "<"); context.EndOffset++; } if (item is XamlCompletionItem && !item.Text.EndsWith(":", StringComparison.Ordinal)) { XamlCompletionItem cItem = item as XamlCompletionItem; if (xamlContext.Description == XamlContextDescription.InTag) { context.Editor.Document.Insert(context.EndOffset, "=\"\""); context.CompletionCharHandled = context.CompletionChar == '='; context.Editor.Caret.Offset--; new XamlCodeCompletionBinding().CtrlSpace(context.Editor); } else if (xamlContext.Description == XamlContextDescription.InMarkupExtension && !string.IsNullOrEmpty(xamlContext.RawAttributeValue)) { string valuePart = xamlContext.RawAttributeValue.Substring(0, xamlContext.ValueStartOffset); AttributeValue value = MarkupExtensionParser.ParseValue(valuePart); if (value != null && !value.IsString) { var markup = Utils.GetMarkupExtensionAtPosition(value.ExtensionValue, context.Editor.Caret.Offset); if (markup.NamedArguments.Count > 0 || markup.PositionalArguments.Count > 0) { int oldOffset = context.Editor.Caret.Offset; context.Editor.Caret.Offset = context.StartOffset; string word = context.Editor.GetWordBeforeCaret().TrimEnd(); int spaces = CountWhiteSpacesAtEnd(context.Editor.GetWordBeforeCaret()); int typeNameStart = markup.ExtensionType.IndexOf(':') + 1; if (!(word == "." || word == "," || word == ":") && markup.ExtensionType.Substring(typeNameStart, markup.ExtensionType.Length - typeNameStart) != word) { context.Editor.Document.Replace(context.Editor.Caret.Offset - spaces, spaces, ", "); oldOffset += (2 - spaces); } context.Editor.Caret.Offset = oldOffset; } } if (cItem.Text.EndsWith("=", StringComparison.OrdinalIgnoreCase)) { new XamlCodeCompletionBinding().CtrlSpace(context.Editor); } } } if (item is NewEventCompletionItem) { CreateEventHandlerCode(xamlContext, item as NewEventCompletionItem); } if (item is XmlnsCompletionItem) { context.Editor.Caret.Offset++; } switch (item.Text) { case "![CDATA[": context.Editor.Document.Insert(context.Editor.Caret.Offset, "]]>"); context.Editor.Caret.Offset -= 3; break; case "?": context.Editor.Document.Insert(context.Editor.Caret.Offset, "?>"); context.Editor.Caret.Offset -= 2; break; case "!--": context.Editor.Document.Insert(context.Editor.Caret.Offset, " -->"); context.Editor.Caret.Offset -= 4; break; } if (item.Text.StartsWith("/", StringComparison.OrdinalIgnoreCase)) { context.Editor.Document.Insert(context.EndOffset, ">"); context.CompletionCharHandled = context.CompletionChar == '>'; context.Editor.Caret.Offset++; } } }
protected void TestTextInsert(string fileHeader, string fileFooter, char completionChar, ICompletionItemList list, ICompletionItem item, string expectedOutput, int expectedOffset) { textEditor.Document.Text = fileHeader + fileFooter; textEditor.Caret.Offset = fileHeader.Length; CompletionContext context = new CompletionContext() { Editor = this.textEditor, CompletionChar = completionChar, StartOffset = textEditor.Caret.Offset, EndOffset = textEditor.Caret.Offset }; list.Complete(context, item); if (!context.CompletionCharHandled && context.CompletionChar != '\n') { this.textEditor.Document.Insert(this.textEditor.Caret.Offset, completionChar + ""); } string insertedText = this.textEditor.Document.GetText(fileHeader.Length, this.textEditor.Document.TextLength - fileHeader.Length - fileFooter.Length); Assert.AreEqual(expectedOutput, insertedText); Assert.AreEqual(fileHeader.Length + expectedOffset, textEditor.Caret.Offset); }
public ItemClickedEventArgs(MouseEventArgs args, ICompletionItem completionItem) { Args = args; CompletionItem = completionItem; }
public override void Complete(CompletionContext context, ICompletionItem item) { using (context.Editor.Document.OpenUndoGroup()) { base.Complete(context, item); XamlCompletionContext xamlContext = XamlContextResolver.ResolveCompletionContext(context.Editor, context.CompletionChar); if (xamlContext.Description == XamlContextDescription.None && (context.StartOffset <= 0 || context.Editor.Document.GetCharAt(context.StartOffset - 1) != '<')) { context.Editor.Document.Insert(context.StartOffset, "<"); context.EndOffset++; } if (item is XamlCompletionItem && !item.Text.EndsWith(":", StringComparison.Ordinal)) { XamlCompletionItem cItem = item as XamlCompletionItem; if (xamlContext.Description == XamlContextDescription.InTag) { context.Editor.Document.Insert(context.EndOffset, "=\"\""); context.CompletionCharHandled = context.CompletionChar == '='; context.Editor.Caret.Offset--; new XamlCodeCompletionBinding().CtrlSpace(context.Editor); } else if (xamlContext.Description == XamlContextDescription.InMarkupExtension && !string.IsNullOrEmpty(xamlContext.RawAttributeValue)) { string valuePart = xamlContext.RawAttributeValue.Substring(0, xamlContext.ValueStartOffset); AttributeValue value = MarkupExtensionParser.ParseValue(valuePart); if (value != null && !value.IsString) { var markup = Utils.GetMarkupExtensionAtPosition(value.ExtensionValue, context.Editor.Caret.Offset); if (markup.NamedArguments.Count > 0 || markup.PositionalArguments.Count > 0) { int oldOffset = context.Editor.Caret.Offset; context.Editor.Caret.Offset = context.StartOffset; string word = context.Editor.GetWordBeforeCaret().TrimEnd(); int spaces = CountWhiteSpacesAtEnd(context.Editor.GetWordBeforeCaret()); int typeNameStart = markup.ExtensionType.IndexOf(':') + 1; if (!(word == "." || word == "," || word == ":") && markup.ExtensionType.Substring(typeNameStart, markup.ExtensionType.Length - typeNameStart) != word) { context.Editor.Document.Replace(context.Editor.Caret.Offset - spaces, spaces, ", "); oldOffset += (2 - spaces); } context.Editor.Caret.Offset = oldOffset; } } if (cItem.Text.EndsWith("=", StringComparison.OrdinalIgnoreCase)) new XamlCodeCompletionBinding().CtrlSpace(context.Editor); } } if (item is NewEventCompletionItem) { CreateEventHandlerCode(xamlContext, item as NewEventCompletionItem); } if (item is XmlnsCompletionItem) { context.Editor.Caret.Offset++; } switch (item.Text) { case "![CDATA[": context.Editor.Document.Insert(context.Editor.Caret.Offset, "]]>"); context.Editor.Caret.Offset -= 3; break; case "?": context.Editor.Document.Insert(context.Editor.Caret.Offset, "?>"); context.Editor.Caret.Offset -= 2; break; case "!--": context.Editor.Document.Insert(context.Editor.Caret.Offset, " -->"); context.Editor.Caret.Offset -= 4; break; } if (item.Text.StartsWith("/", StringComparison.OrdinalIgnoreCase)) { context.Editor.Document.Insert(context.EndOffset, ">"); context.CompletionCharHandled = context.CompletionChar == '>'; context.Editor.Caret.Offset++; } } }
public CodeCompletionDataAdapter(SharpDevelopCompletionWindow window, ICompletionItem item) { if (window == null) throw new ArgumentNullException("window"); if (item == null) throw new ArgumentNullException("item"); this.window = window; this.item = item; this.fancyCompletionItem = item as IFancyCompletionItem; }
public void Complete(CompletionContext context, ICompletionItem item) { item.Complete(context); }
public void SetUpFixture() { defaultSchema = new XmlSchemaCompletion(ResourceManager.ReadXhtmlStrictSchema()); completionItems = new XmlCompletionItemCollection(defaultSchema.GetRootElementCompletion()); selectedCompletionItem = completionItems.SuggestedItem; }
private void InsertItem(ICompletionItem item, CompletionPopupView view) { item.Insert(); PopupActions.Hide(view); }
public bool Handles(ICompletionItem item) { return(item is OverrideCompletionItem && (item.Text == "GetHashCode()" || item.Text == "Equals(object obj)")); }
public void Insert(CompletionContext context, ICompletionItem item) { if (item == null) { throw new ArgumentNullException("item"); } if (!(item is OverrideCompletionItem)) { throw new ArgumentException("item is not an OverrideCompletionItem"); } OverrideCompletionItem completionItem = item as OverrideCompletionItem; ITextEditor textEditor = context.Editor; IEditorUIService uiService = textEditor.GetService(typeof(IEditorUIService)) as IEditorUIService; if (uiService == null) { return; } ParseInformation parseInfo = ParserService.GetParseInformation(textEditor.FileName); if (parseInfo == null) { return; } CodeGenerator generator = parseInfo.CompilationUnit.Language.CodeGenerator; IClass current = parseInfo.CompilationUnit.GetInnermostClass(textEditor.Caret.Line, textEditor.Caret.Column); ClassFinder finder = new ClassFinder(current, textEditor.Caret.Line, textEditor.Caret.Column); if (current == null) { return; } using (textEditor.Document.OpenUndoGroup()) { ITextAnchor startAnchor = textEditor.Document.CreateAnchor(textEditor.Caret.Offset); startAnchor.MovementType = AnchorMovementType.BeforeInsertion; ITextAnchor endAnchor = textEditor.Document.CreateAnchor(textEditor.Caret.Offset); endAnchor.MovementType = AnchorMovementType.AfterInsertion; MethodDeclaration member = (MethodDeclaration)generator.GetOverridingMethod(completionItem.Member, finder); string indent = DocumentUtilitites.GetWhitespaceBefore(textEditor.Document, textEditor.Caret.Offset); string codeForBaseCall = generator.GenerateCode(member.Body.Children.OfType <AbstractNode>().First(), ""); string code = generator.GenerateCode(member, indent); int marker = code.IndexOf(codeForBaseCall); textEditor.Document.Insert(startAnchor.Offset, code.Substring(0, marker).TrimStart()); ITextAnchor insertionPos = textEditor.Document.CreateAnchor(endAnchor.Offset); insertionPos.MovementType = AnchorMovementType.BeforeInsertion; InsertionContext insertionContext = new InsertionContext(textEditor.GetService(typeof(TextArea)) as TextArea, startAnchor.Offset); AbstractInlineRefactorDialog dialog = new OverrideEqualsGetHashCodeMethodsDialog(insertionContext, textEditor, startAnchor, endAnchor, insertionPos, current, completionItem.Member as IMethod, codeForBaseCall.Trim()); dialog.Element = uiService.CreateInlineUIElement(insertionPos, dialog); textEditor.Document.InsertNormalized(endAnchor.Offset, Environment.NewLine + code.Substring(marker + codeForBaseCall.Length)); insertionContext.RegisterActiveElement(new InlineRefactorSnippetElement(cxt => null, ""), dialog); insertionContext.RaiseInsertionCompleted(EventArgs.Empty); } }
public ItemClickedEvent(MouseEventArgs args, ICompletionItem item) { this.args = new ItemClickedEventArgs(args, item); }
public ItemClickedEventArgs(MouseEventArgs args, ICompletionItem completionItem) { Args = args; CompletionItem = completionItem; }
protected void TestTextInsert(string file, char completionChar, ICompletionItemList list, ICompletionItem item, string expectedOutput, int expectedOffset) { int insertionPoint = file.IndexOf('|'); if (insertionPoint < 0) { Assert.Fail("insertionPoint not found in text!"); } this.textEditor.Document.Text = file.Replace("|", ""); this.textEditor.Caret.Offset = insertionPoint; this.textEditor.CreateParseInformation(); CompletionContext context = new CompletionContext() { Editor = this.textEditor, CompletionChar = completionChar, StartOffset = textEditor.Caret.Offset, EndOffset = textEditor.Caret.Offset }; list.Complete(context, item); if (!context.CompletionCharHandled && context.CompletionChar != '\n') { this.textEditor.Document.Insert(this.textEditor.Caret.Offset, completionChar + ""); } string insertedText = this.textEditor.Document.GetText(insertionPoint, this.textEditor.Document.TextLength - file.Length + 1); Assert.AreEqual(expectedOutput, insertedText); Assert.AreEqual(insertionPoint + expectedOffset, textEditor.Caret.Offset); }
public ItemClickedEvent(MouseEventArgs args, ICompletionItem item) { this.args = new ItemClickedEventArgs(args, item); }
public bool Handles(ICompletionItem item) { return item is OverrideCompletionItem && (item.Text == "GetHashCode()" || item.Text == "Equals(object obj)"); }
public void SetUpFixture() { defaultSchema = new XmlSchemaCompletion(ResourceManager.ReadXhtmlStrictSchema()); completionItems = new XmlCompletionItemCollection(defaultSchema.GetRootElementCompletion()); selectedCompletionItem = completionItems.SuggestedItem; }
public CompletionData(ICompletionItem item) { Text = item.Text; Description = item.Description; Content = item.Text; }
public ScrollIntoViewMessage(object sender, ICompletionItem target) : base(sender) { TargetItem = target; }
public bool Handles(ICompletionItem item) { return item is OverrideCompletionItem && item.Text == "ToString()"; }
public bool Handles(ICompletionItem item) { return(item is OverrideCompletionItem && item.Text == "ToString()"); }