public override void Execute(TextArea textArea) { SharpDevelopTextAreaControl sdtac = (SharpDevelopTextAreaControl)textArea.MotherTextEditorControl; CtrlSpaceCompletionDataProvider provider = new CtrlSpaceCompletionDataProvider(); provider.AllowCompleteExistingExpression = true; provider.DebugMode = true; sdtac.ShowCompletionWindow(provider, '\0'); }
ICompletionData[] GetCompletionData() { if (ctrlSpaceCompletionData != null) { return(ctrlSpaceCompletionData); } TextEditorControl editor = GetEditor(); if (editor != null) { CtrlSpaceCompletionDataProvider cdp = new CtrlSpaceCompletionDataProvider(ExpressionContext.Default); ctrlSpaceCompletionData = cdp.GenerateCompletionData(editor.FileName, editor.ActiveTextAreaControl.TextArea, '\0'); return(ctrlSpaceCompletionData); } return(new ICompletionData[0]); }
protected bool ProvideContextCompletion(CodeEditorControl editor, IReturnType expected, char charTyped) { if (expected == null) { return(false); } IClass c = expected.GetUnderlyingClass(); if (c == null) { return(false); } if (c.ClassType == ClassType.Enum) { CtrlSpaceCompletionDataProvider cdp = new CtrlSpaceCompletionDataProvider(); cdp.ForceNewExpression = true; ContextCompletionDataProvider cache = new ContextCompletionDataProvider(cdp); cache.activationKey = charTyped; cache.GenerateCompletionData(editor.ActiveViewControl.FileName, editor.ActiveViewControl, charTyped); ICompletionData[] completionData = cache.CompletionData; Array.Sort(completionData); for (int i = 0; i < completionData.Length; i++) { CodeCompletionData ccd = completionData[i] as CodeCompletionData; if (ccd != null && ccd.Class != null) { if (ccd.Class.FullyQualifiedName == expected.FullyQualifiedName) { cache.DefaultIndex = i; break; } } } if (cache.DefaultIndex >= 0) { if (charTyped != ' ') { cdp.InsertSpace = true; } editor.ActiveViewControl.ShowCompletionWindow(cache, charTyped); return(true); } } return(false); }
void ActiveViewControl_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = HandleKeyPress(e.KeyChar); if (e.Handled == false && e.KeyChar == '.' && this.CodeEditorCtrl.AutoListVisible == false) { string SearchWord = this.Editor.ActiveViewControl.Caret.CurrentWord.Text; string FoundWord = ""; AIMS.Libraries.CodeEditor.WinForms.CompletionWindow.ICompletionDataProvider cdp = new CtrlSpaceCompletionDataProvider(); AIMS.Libraries.CodeEditor.WinForms.CompletionWindow.ICompletionData[] completionData = cdp.GenerateCompletionData(this.FileName, this.Editor.ActiveViewControl, (char)e.KeyChar); foreach (AIMS.Libraries.CodeEditor.WinForms.CompletionWindow.ICompletionData data in completionData) { if (SearchWord.ToLower() == data.Text.ToLower()) { FoundWord = data.Text; break; } } if (FoundWord.Length > 0) { this.Editor.ActiveViewControl.Caret.CurrentWord.Text = FoundWord; e.Handled = HandleKeyPress(e.KeyChar); return; } } }