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); } } }
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(); }