Beispiel #1
0
        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');
        }
Beispiel #2
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]);
        }
Beispiel #3
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);
        }
Beispiel #4
0
        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;
                }
            }
        }