Exemple #1
0
		void OnToolTipRequest(object sender, TextEditor.ToolTipRequestEventArgs e)
		{
			if (e.InDocument && !e.ToolTipShown) {
				IExpressionFinder expressionFinder;
				if (MainForm.IsVisualBasic) {
					expressionFinder = new VBExpressionFinder();
				} else {
					expressionFinder = new CSharpExpressionFinder(mainForm.parseInformation);
				}
				ExpressionResult expression = expressionFinder.FindFullExpression(
					editor.Text,
					editor.Document.PositionToOffset(e.LogicalPosition));
				if (expression.Region.IsEmpty) {
					expression.Region = new DomRegion(e.LogicalPosition.Line + 1, e.LogicalPosition.Column + 1);
				}
				
				TextEditor.TextArea textArea = editor.ActiveTextAreaControl.TextArea;
				NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent.Language);
				ResolveResult rr = resolver.Resolve(expression,
				                                    mainForm.parseInformation,
				                                    textArea.MotherTextEditorControl.Text);
				string toolTipText = GetText(rr);
				if (toolTipText != null) {
					e.ShowToolTip(toolTipText);
				}
			}
		}
        void OnToolTipRequest(object sender, TextEditor.ToolTipRequestEventArgs e)
        {
            if (e.InDocument && !e.ToolTipShown)
            {
                IExpressionFinder expressionFinder;
                if (MainForm.IsVisualBasic)
                {
                    expressionFinder = new VBExpressionFinder();
                }
                else
                {
                    expressionFinder = new CSharpExpressionFinder(mainForm.parseInformation);
                }
                ExpressionResult expression = expressionFinder.FindFullExpression(
                    editor.Text,
                    editor.Document.PositionToOffset(e.LogicalPosition));
                if (expression.Region.IsEmpty)
                {
                    expression.Region = new DomRegion(e.LogicalPosition.Line + 1, e.LogicalPosition.Column + 1);
                }

                TextEditor.TextArea textArea = editor.ActiveTextAreaControl.TextArea;
                NRefactoryResolver  resolver = new NRefactoryResolver(mainForm.myProjectContent.Language);
                ResolveResult       rr       = resolver.Resolve(expression,
                                                                mainForm.parseInformation,
                                                                textArea.MotherTextEditorControl.Text);
                string toolTipText = GetText(rr);
                if (toolTipText != null)
                {
                    e.ShowToolTip(toolTipText);
                }
            }
        }
Exemple #3
0
        public ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
        {
            // We can return code-completion items like this:

            //return new ICompletionData[] {
            //	new DefaultCompletionData("Text", "Description", 1)
            //};

            NRefactoryResolver resolver = new NRefactoryResolver(iForm.ProjectContent.Language);

            Dom.ResolveResult rr = resolver.Resolve(FindExpression(textArea),
                                                    iForm.ParseInformation,
                                                    textArea.MotherTextEditorControl.Text);
            List <ICompletionData> resultList = new List <ICompletionData>();

            if (rr != null)
            {
                var completionData = rr.GetCompletionData(iForm.ProjectContent);
                if (completionData != null)
                {
                    AddCompletionData(resultList, completionData);
                }
            }
            return(resultList.ToArray());
        }
        public ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
        {
            // We can return code-completion items like this:

            //return new ICompletionData[] {
            //	new DefaultCompletionData("Text", "Description", 1)
            //};

            NRefactoryResolver resolver;

            if (mainForm.Language == "C#")
            {
                resolver = new NRefactoryResolver(mainForm.myProjectContent, ICSharpCode.SharpDevelop.Dom.LanguageProperties.CSharp);
            }
            else
            {
                resolver = new NRefactoryResolver(mainForm.myProjectContent, ICSharpCode.SharpDevelop.Dom.LanguageProperties.VBNet);
            }
            Dom.ResolveResult rr = resolver.Resolve(FindExpression(textArea),
                                                    textArea.Caret.Line,
                                                    textArea.Caret.Column,
                                                    fileName,
                                                    textArea.MotherTextEditorControl.Text);
            List <ICompletionData> resultList = new List <ICompletionData>();

            if (rr != null)
            {
                ArrayList completionData = rr.GetCompletionData(mainForm.myProjectContent);
                if (completionData != null)
                {
                    AddCompletionData(resultList, completionData);
                }
            }
            return(resultList.ToArray());
        }
        public override ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
        {
            // We can return code-completion items like this:

            //return new ICompletionData[] {
            //	new DefaultCompletionData("Text", "Description", 1)
            //};

            var resultList = new List <ICompletionData>();

            var document       = FEditor.TextDocument as CSDocument;
            var parseInfo      = document.ParseInfo;
            var projectContent = parseInfo.MostRecentCompilationUnit.ProjectContent;

            var finder           = document.ExpressionFinder;
            var text             = textArea.Document.GetText(0, textArea.Caret.Offset);
            var expressionResult = finder.FindExpression(text, textArea.Caret.Offset);

            if (expressionResult.Region.IsEmpty)
            {
                expressionResult.Region = new Dom.DomRegion(textArea.Caret.Line + 1, textArea.Caret.Column + 1);
            }
            var resolver = new NRefactoryResolver(LanguageProperties.CSharp);

            Debug.WriteLine(string.Format("Generating C# completion data for expression result {0}", expressionResult));

            ArrayList completionData = null;

            PreSelection = null;
            var rr = resolver.Resolve(expressionResult,
                                      parseInfo,
                                      textArea.MotherTextEditorControl.Text);

            if (rr != null)
            {
                completionData = rr.GetCompletionData(projectContent);
            }

            if (completionData != null)
            {
                AddCompletionData(ref resultList, completionData, expressionResult.Context);
            }

            return(resultList.ToArray());
        }
		public ICompletionData[] GenerateCompletionData(string fileName, TextArea textArea, char charTyped)
		{
			// We can return code-completion items like this:
			
			//return new ICompletionData[] {
			//	new DefaultCompletionData("Text", "Description", 1)
			//};
			
			NRefactoryResolver resolver = new NRefactoryResolver(mainForm.myProjectContent.Language);
			Dom.ResolveResult rr = resolver.Resolve(FindExpression(textArea),
			                                        mainForm.parseInformation,
			                                        textArea.MotherTextEditorControl.Text);
			List<ICompletionData> resultList = new List<ICompletionData>();
			if (rr != null) {
				ArrayList completionData = rr.GetCompletionData(mainForm.myProjectContent);
				if (completionData != null) {
					AddCompletionData(resultList, completionData);
				}
			}
			return resultList.ToArray();
		}