Exemplo n.º 1
0
        public override void Run()
        {
            if (ParserService.LoadSolutionProjectsThreadRunning)
            {
                return;
            }
            if (WorkbenchSingleton.Workbench == null || WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null)
            {
                return;
            }
            ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent as ITextEditorControlProvider;

            if (provider == null)
            {
                return;
            }
            LanguageProperties language = ParserService.CurrentProjectContent.Language;

            if (language == null)
            {
                return;
            }

            RefactoringProvider rp = language.RefactoringProvider;

            Run(provider.TextEditorControl, rp);
            provider.TextEditorControl.Refresh();
        }
Exemplo n.º 2
0
        public override void Run()
        {
            string clipboardText = ClipboardWrapper.GetText();

            if (string.IsNullOrEmpty(clipboardText))
            {
                return;
            }

            //IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveViewContent;
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (viewContent == null || !(viewContent is ITextEditorControlProvider))
            {
                return;
            }

            TextEditorControl textEditor = ((ITextEditorControlProvider)viewContent).TextEditorControl;

            if (textEditor == null)
            {
                return;
            }

            textEditor.BeginUpdate();
            textEditor.Document.UndoStack.StartUndoGroup();
            try {
                Run(textEditor, clipboardText);
            } finally {
                textEditor.Document.UndoStack.EndUndoGroup();
                textEditor.EndUpdate();
            }
            textEditor.Refresh();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Loads the file from the corresponding text editor window if it is
        /// open otherwise the file is loaded from the file system.
        /// </summary>
        void LoadFile(string fileName)
        {
            // Get currently open text editor that matches the filename.
            TextEditorControl openTextEditor = null;
            IWorkbenchWindow  window         = FileService.GetOpenFile(fileName);

            if (window != null)
            {
                ITextEditorControlProvider provider = window.ActiveViewContent as ITextEditorControlProvider;
                if (provider != null)
                {
                    openTextEditor = provider.TextEditorControl;
                }
            }

            // Load the text into the definition view's text editor.
            if (openTextEditor != null)
            {
                ctl.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategyForFile(fileName);
                ctl.Text     = openTextEditor.Text;
                ctl.FileName = fileName;
            }
            else
            {
                ctl.LoadFile(fileName, true, true);                 // TODO: get AutoDetectEncoding from settings
            }
        }
Exemplo n.º 4
0
        public bool IsValid(object caller, Condition condition)
        {
            if (WorkbenchSingleton.Workbench == null || WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null)
            {
                return(false);
            }
            ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent as ITextEditorControlProvider;

            if (provider == null)
            {
                return(false);
            }
            if (string.IsNullOrEmpty(provider.TextEditorControl.FileName))
            {
                return(false);
            }

            foreach (BreakpointBookmark mark in DebuggerService.Breakpoints)
            {
                if ((mark.FileName == provider.TextEditorControl.FileName) &&
                    (mark.LineNumber == provider.TextEditorControl.ActiveTextAreaControl.Caret.Line))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 5
0
        public override void Run()
        {
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (Common.Ultility.Ultility.IsUnixOS)
            {
                viewContent = FormMain.CurrentActiveTab;
            }

            if (viewContent == null)
            {
                return;
            }

            TextEditorControl textarea = viewContent.TextEditorControl;

            if (textarea.Document.HighlightingStrategy.Name != "MoML")
            {
                new ICSharpCode.TextEditor.Actions.ToggleComment().Execute(textarea.ActiveTextAreaControl.TextArea);
            }
            else
            {
                new ToggleComment().Execute(textarea.ActiveTextAreaControl.TextArea);
            }
        }
Exemplo n.º 6
0
        public override void Run()
        {
            PadDescriptor pad = WorkbenchSingleton.Workbench.GetPad(typeof(FSharpInteractive));

            pad.BringPadToFront();
            FSharpInteractive fsharpInteractive = (FSharpInteractive)pad.PadContent;

            if (fsharpInteractive.foundCompiler)
            {
                ITextEditorControlProvider editorProvider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorControlProvider;
                if (editorProvider != null)
                {
                    var textArea = editorProvider.TextEditorControl.ActiveTextAreaControl.TextArea;
                    if (textArea.SelectionManager.HasSomethingSelected)
                    {
                        foreach (var selection in textArea.SelectionManager.SelectionCollection)
                        {
                            fsharpInteractive.fsiProcess.StandardInput.WriteLine(selection.SelectedText);
                        }
                    }
                    else
                    {
                        var line        = textArea.Document.GetLineNumberForOffset(textArea.Caret.Offset);
                        var lineSegment = textArea.Document.GetLineSegment(line);
                        var lineText    = textArea.Document.GetText(lineSegment.Offset, lineSegment.TotalLength);
                        fsharpInteractive.fsiProcess.StandardInput.WriteLine(lineText);
                    }
                    fsharpInteractive.fsiProcess.StandardInput.WriteLine(";;");
                }
            }
        }
        public static bool ReplaceNextInSelection(IProgressMonitor monitor)
        {
            if (lastResult != null && WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null)
            {
                ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorControlProvider;
                if (provider != null)
                {
                    TextEditorControl textarea         = provider.TextEditorControl;
                    SelectionManager  selectionManager = textarea.ActiveTextAreaControl.TextArea.SelectionManager;

                    if (selectionManager.SelectionCollection.Count == 1 &&
                        selectionManager.SelectionCollection[0].Offset == lastResult.Offset &&
                        selectionManager.SelectionCollection[0].Length == lastResult.Length &&
                        lastResult.FileName == textarea.FileName)
                    {
                        string replacePattern = lastResult.TransformReplacePattern(SearchOptions.ReplacePattern);

                        textarea.BeginUpdate();
                        selectionManager.ClearSelection();
                        textarea.Document.Replace(lastResult.Offset, lastResult.Length, replacePattern);
                        textarea.ActiveTextAreaControl.Caret.Position = textarea.Document.OffsetToPosition(lastResult.Offset + replacePattern.Length);
                        textarea.EndUpdate();

                        textSelection.Length -= lastResult.Length - replacePattern.Length;
                    }
                }
            }
            return(FindNextInSelection(monitor));
        }
Exemplo n.º 8
0
        public ToolStripItem[] BuildSubmenu(Codon codon, object owner)
        {
            List <ToolStripItem> items = new List <ToolStripItem>();

            ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent as ITextEditorControlProvider;

            BreakpointBookmark point = null;

            foreach (BreakpointBookmark breakpoint in DebuggerService.Breakpoints)
            {
                if ((breakpoint.FileName == provider.TextEditorControl.FileName) &&
                    (breakpoint.LineNumber == provider.TextEditorControl.ActiveTextAreaControl.Caret.Line))
                {
                    point = breakpoint;
                    break;
                }
            }

            if (point != null)
            {
                foreach (string item in BreakpointAction.GetNames(typeof(BreakpointAction)))
                {
                    items.Add(MakeItem("${res:MainWindow.Windows.Debug.Conditional.Breakpoints." + item + "}", item, point, point.Action.ToString(), delegate(object sender, EventArgs e) { HandleItem(sender); }));
                }
            }

            return(items.ToArray());
        }
Exemplo n.º 9
0
        public override void Run()
        {
            //IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveViewContent;
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (viewContent == null || !(viewContent is ITextEditorControlProvider))
            {
                return;
            }

            using (SortOptionsDialog sortOptionsDialog = new SortOptionsDialog()) {
                sortOptionsDialog.Owner = WorkbenchSingleton.MainForm;
                if (sortOptionsDialog.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm) == DialogResult.OK)
                {
                    TextArea textarea = ((ITextEditorControlProvider)viewContent).TextEditorControl.ActiveTextAreaControl.TextArea;
                    textarea.BeginUpdate();
                    if (textarea.SelectionManager.HasSomethingSelected)
                    {
                        foreach (ISelection selection in textarea.SelectionManager.SelectionCollection)
                        {
                            SortLines(textarea.Document, selection.StartPosition.Y, selection.EndPosition.Y);
                        }
                    }
                    else
                    {
                        SortLines(textarea.Document, 0, textarea.Document.TotalNumberOfLines - 1);
                    }
                    textarea.Caret.ValidateCaretPos();
                    textarea.EndUpdate();
                    textarea.Refresh();
                }
            }
        }
        public bool CanAttachTo(IViewContent viewContent)
        {
            if (viewContent is ITextEditorControlProvider)
            {
                ITextEditorControlProvider textAreaControlProvider = (ITextEditorControlProvider)viewContent;
                string fileExtension = String.Empty;
                string fileName      = viewContent.PrimaryFileName;
                if (fileName == null)
                {
                    return(false);
                }

                fileExtension = Path.GetExtension(fileName).ToLowerInvariant();

                switch (fileExtension)
                {
                case ".cs":
                case ".vb":
                    ParseInformation info = ParserService.ParseFile(fileName, textAreaControlProvider.TextEditorControl.Document.TextContent, false);

                    if (IsDesignable(info))
                    {
                        return(true);
                    }
                    break;

                case ".xfrm":
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 11
0
        static TextEditorControl OpenTextArea(string fileName)
        {
            ITextEditorControlProvider textEditorProvider = null;

            foreach (EditorTabItem content in WorkbenchSingleton.DockContainer.Documents)
            {
                if (content.PrimaryFileName == fileName)
                {
                    textEditorProvider = content;
                    content.Activate();
                    break;
                }
            }

            if (textEditorProvider == null)
            {
                textEditorProvider = WorkbenchSingleton.DockContainer.ActiveDocument as ITextEditorControlProvider;
            }

            if (textEditorProvider != null)
            {
                return(textEditorProvider.TextEditorControl);
            }
            return(null);
        }
Exemplo n.º 12
0
        public static void Replace(IProgressMonitor monitor)
        {
            SetSearchOptions(monitor);

            ITextEditorControlProvider provider = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (PAT.Common.Ultility.Ultility.IsUnixOS)
            {
                provider = FormMain.CurrentActiveTab;
            }
            if (lastResult != null) //&& WorkbenchSingleton.ActiveControl != null
            {
                if (provider != null)
                {
                    TextEditorControl textarea         = provider.TextEditorControl;
                    SelectionManager  selectionManager = textarea.ActiveTextAreaControl.TextArea.SelectionManager;

                    if (selectionManager.SelectionCollection.Count == 1 &&
                        selectionManager.SelectionCollection[0].Offset == lastResult.Offset &&
                        selectionManager.SelectionCollection[0].Length == lastResult.Length &&
                        lastResult.FileName == textarea.FileName)
                    {
                        string replacePattern = lastResult.TransformReplacePattern(SearchOptions.ReplacePattern);

                        textarea.BeginUpdate();
                        selectionManager.ClearSelection();
                        textarea.Document.Replace(lastResult.Offset, lastResult.Length, replacePattern);
                        textarea.ActiveTextAreaControl.Caret.Position =
                            textarea.Document.OffsetToPosition(lastResult.Offset + replacePattern.Length);
                        textarea.EndUpdate();
                    }
                }
            }
            FindNext(monitor);
        }
Exemplo n.º 13
0
        ResolveResult ResolveAtCaret(ParserUpdateStepEventArgs e)
        {
            if (disableDefinitionView)
            {
                return(null);
            }
            IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;

            if (window == null)
            {
                return(null);
            }
            ITextEditorControlProvider provider = window.ActiveViewContent as ITextEditorControlProvider;

            if (provider == null)
            {
                return(null);
            }
            TextEditorControl ctl = provider.TextEditorControl;

            // e might be null when this is a manually triggered update
            string fileName = (e == null) ? ctl.FileName : e.FileName;

            if (ctl.FileName != fileName)
            {
                return(null);
            }
            IExpressionFinder expressionFinder = ParserService.GetExpressionFinder(fileName);

            if (expressionFinder == null)
            {
                return(null);
            }
            Caret  caret   = ctl.ActiveTextAreaControl.Caret;
            string content = (e == null) ? ctl.Text : e.Content;

            if (caret.Offset > content.Length)
            {
                LoggingService.Debug("caret.Offset = " + caret.Offset + ", content.Length=" + content.Length);
                return(null);
            }
            try {
                ExpressionResult expr = expressionFinder.FindFullExpression(content, caret.Offset);
                if (expr.Expression == null)
                {
                    return(null);
                }
                return(ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content));
            } catch (Exception ex) {
                disableDefinitionView = true;
                this.Control.Visible  = false;
                MessageService.ShowError(ex, "Error resolving at " + (caret.Line + 1) + "/" + (caret.Column + 1)
                                         + ". DefinitionViewPad is disabled until you restart SharpDevelop.");
                return(null);
            }
        }
Exemplo n.º 14
0
        TextAreaControl GetTextAreaControl(string fileName)
        {
            ITextEditorControlProvider textEditorControlProvider = FileService.GetOpenFile(fileName) as ITextEditorControlProvider;

            if (textEditorControlProvider != null)
            {
                return(textEditorControlProvider.TextEditorControl.ActiveTextAreaControl);
            }
            return(null);
        }
        public static ICSharpCode.TextEditor.Document.IDocument GetDocument(IClass c)
        {
            ITextEditorControlProvider tecp = FileService.OpenFile(c.CompilationUnit.FileName) as ITextEditorControlProvider;

            if (tecp == null)
            {
                return(null);
            }
            return(tecp.TextEditorControl.Document);
        }
        /// <summary>
        /// Creates a TextReader for the specified file.
        /// </summary>
        public TextReader Create(string fileName)
        {
            ITextEditorControlProvider textEditorProvider = FileService.GetOpenFile(fileName) as ITextEditorControlProvider;

            if (textEditorProvider != null)
            {
                return(new StringReader(textEditorProvider.TextEditorControl.Text));
            }
            return(new StreamReader(fileName, true));
        }
Exemplo n.º 17
0
        public void ShowSourceCode(int lineNumber)
        {
            ShowSourceCode();
            ITextEditorControlProvider tecp = this.primaryViewContent as ITextEditorControlProvider;

            if (tecp != null)
            {
                tecp.TextEditorControl.ActiveTextAreaControl.JumpTo(lineNumber - 1);
            }
        }
Exemplo n.º 18
0
        public override void Run()
        {
            //IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveViewContent;
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (viewContent == null || !(viewContent is ITextEditorControlProvider))
            {
                return;
            }
            TextEditorControl textarea = ((ITextEditorControlProvider)viewContent).TextEditorControl;

            using (SharpDevelopColorDialog cd = new SharpDevelopColorDialog()) {
                if (cd.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm) == DialogResult.OK)
                {
                    string ext = Path.GetExtension(textarea.FileName).ToLowerInvariant();
                    string colorstr;
                    if (ext == ".cs" || ext == ".vb" || ext == ".boo")
                    {
                        if (cd.Color.IsKnownColor)
                        {
                            colorstr = "Color." + cd.Color.ToKnownColor().ToString();
                        }
                        else if (cd.Color.A < 255)
                        {
                            colorstr = "Color.FromArgb(0x" + cd.Color.ToArgb().ToString("x") + ")";
                        }
                        else
                        {
                            colorstr = string.Format("Color.FromArgb({0}, {1}, {2})", cd.Color.R, cd.Color.G, cd.Color.B);
                        }
                    }
                    else
                    {
                        if (cd.Color.IsKnownColor)
                        {
                            colorstr = cd.Color.ToKnownColor().ToString();
                        }
                        else if (cd.Color.A < 255)
                        {
                            colorstr = "#" + cd.Color.ToArgb().ToString("X");
                        }
                        else
                        {
                            colorstr = string.Format("#{0:X2}{1:X2}{2:X2}", cd.Color.R, cd.Color.G, cd.Color.B);
                        }
                    }

                    textarea.Document.Insert(textarea.ActiveTextAreaControl.Caret.Offset, colorstr);
                    int lineNumber = textarea.Document.GetLineNumberForOffset(textarea.ActiveTextAreaControl.Caret.Offset);
                    textarea.ActiveTextAreaControl.Caret.Column += colorstr.Length;
                    textarea.Document.RequestUpdate(new TextAreaUpdate(TextAreaUpdateType.SingleLine, new TextLocation(0, lineNumber)));
                    textarea.Document.CommitUpdate();
                }
            }
        }
 static void ClearSelection()
 {
     if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null)
     {
         ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorControlProvider;
         if (provider != null)
         {
             provider.TextEditorControl.ActiveTextAreaControl.TextArea.SelectionManager.ClearSelection();
         }
     }
 }
Exemplo n.º 20
0
        TextEditorControl GetEditor()
        {
            //IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveViewContent;
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (viewContent is ITextEditorControlProvider)
            {
                return(((ITextEditorControlProvider)viewContent).TextEditorControl);
            }
            return(null);
        }
Exemplo n.º 21
0
        public static void MarkAll(IProgressMonitor monitor)
        {
            SetSearchOptions(monitor);
            ClearSelection();


            if (PAT.Common.Ultility.Ultility.IsUnixOS)
            {
                ITextEditorControlProvider provider = FormMain.CurrentActiveTab;
                if (provider != null)
                {
                    provider.TextEditorControl.Document.BookmarkManager.Clear();
                }
            }
            else
            {
                if (WorkbenchSingleton.ActiveControl != null)
                {
                    ITextEditorControlProvider provider = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;
                    if (provider != null)
                    {
                        provider.TextEditorControl.Document.BookmarkManager.Clear();
                    }
                }
            }

            find.Reset();
            if (!find.SearchStrategy.CompilePattern(monitor))
            {
                return;
            }
            List <TextEditorControl> textAreas = new List <TextEditorControl>();
            int count;

            for (count = 0;; count++)
            {
                SearchResultMatch result = SearchReplaceManager.find.FindNext(monitor);

                if (result == null)
                {
                    break;
                }
                else
                {
                    MarkResult(textAreas, result);
                }
            }
            find.Reset();
            foreach (TextEditorControl ctl in textAreas)
            {
                ctl.Refresh();
            }
            ShowMarkDoneMessage(count, monitor);
        }
Exemplo n.º 22
0
 /// <summary>
 /// Removes all the XPath Node markers from all the open documents.
 /// </summary>
 public void RemoveXPathNodeTextMarkers()
 {
     foreach (IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection)
     {
         ITextEditorControlProvider textEditorProvider = view as ITextEditorControlProvider;
         if (textEditorProvider != null)
         {
             XPathNodeTextMarker.RemoveMarkers(textEditorProvider.TextEditorControl.Document.MarkerStrategy);
             textEditorProvider.TextEditorControl.Refresh();
         }
     }
 }
Exemplo n.º 23
0
        public override void Run()
        {
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (viewContent == null || !(viewContent is ITextEditorControlProvider))
            {
                return;
            }
            TextEditorControl textEditor = ((ITextEditorControlProvider)viewContent).TextEditorControl;

            EditAction.Execute(textEditor.ActiveTextAreaControl.TextArea);
        }
        static TextEditorControl GetTextEditorControl()
        {
            ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorControlProvider;

            if (provider != null)
            {
                return(provider.TextEditorControl);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 25
0
        public override void Run()
        {
            ITextEditorControlProvider provider = WorkbenchSingleton.Workbench.ActiveContent as ITextEditorControlProvider;

            if (provider != null)
            {
                TextEditorControl textEditor = provider.TextEditorControl;
                if (!string.IsNullOrEmpty(textEditor.FileName))
                {
                    DebuggerService.ToggleBreakpointAt(textEditor.Document, textEditor.FileName, textEditor.ActiveTextAreaControl.Caret.Line);
                }
            }
        }
Exemplo n.º 26
0
        public static void SetPosition(IViewContent viewContent, int makerStartLine, int makerStartColumn, int makerEndLine, int makerEndColumn)
        {
            ITextEditorControlProvider tecp = viewContent as ITextEditorControlProvider;

            if (tecp != null)
            {
                SetPosition(tecp.TextEditorControl.FileName, tecp.TextEditorControl.Document, makerStartLine, makerStartColumn, makerEndLine, makerEndColumn);
            }
            else
            {
                Remove();
            }
        }
Exemplo n.º 27
0
        public bool CanAttachTo(IViewContent content)
        {
            ITextEditorControlProvider textEditorControlProvider = content as ITextEditorControlProvider;

            if (textEditorControlProvider != null)
            {
                if (IsPythonFile(content.PrimaryFileName))
                {
                    ParseInformation parseInfo = GetParseInfo(content.PrimaryFileName, textEditorControlProvider.TextEditorControl.Text, false);
                    return(IsDesignable(parseInfo));
                }
            }
            return(false);
        }
Exemplo n.º 28
0
        public override void Run()
        {
            //IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveViewContent;
            ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider;

            if (viewContent == null || !(viewContent is ITextEditorControlProvider))
            {
                return;
            }

            TextEditorControl textarea = ((ITextEditorControlProvider)viewContent).TextEditorControl;

            new ICSharpCode.TextEditor.Actions.ToggleComment().Execute(textarea.ActiveTextAreaControl.TextArea);
        }
Exemplo n.º 29
0
        private ResolveResult ResolveAtCaret(ParserUpdateStepEventArgs e)
        {
            IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;

            if (window == null)
            {
                return(null);
            }
            ITextEditorControlProvider provider = window.ActiveViewContent as ITextEditorControlProvider;

            if (provider == null)
            {
                return(null);
            }
            TextEditorControl ctl = provider.TextEditorControl;

            // e might be null when this is a manually triggered update
            string fileName = (e == null) ? ctl.FileName : e.FileName;

            if (ctl.FileName != fileName)
            {
                return(null);
            }
            IExpressionFinder expressionFinder = ParserService.GetExpressionFinder(fileName);

            if (expressionFinder == null)
            {
                return(null);
            }
            Caret            caret   = ctl.ActiveTextAreaControl.Caret;
            string           content = (e == null) ? ctl.Text : e.Content;
            ExpressionResult expr    = expressionFinder.FindFullExpression(content, caret.Offset);

            if (expr.Expression == null)
            {
                return(null);
            }

            // save the current position
            if (this.lastPoint != null && this.lastPoint == caret.Position)
            {
                return(null);
            }
            this.lastPoint = caret.Position;
            this.AddToStringCollection(string.Format(CultureInfo.InvariantCulture, "!{0}", expr.Expression));

            return(ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content));
        }
Exemplo n.º 30
0
        static ICSharpCode.TextEditor.Document.IDocument GetDocument(IClass c)
        {
            IWorkbenchWindow win = FileService.OpenFile(c.CompilationUnit.FileName);

            if (win == null)
            {
                return(null);
            }
            ITextEditorControlProvider tecp = win.ViewContent as ITextEditorControlProvider;

            if (tecp == null)
            {
                return(null);
            }
            return(tecp.TextEditorControl.Document);
        }