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(); }
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(); }
/// <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 } }
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); }
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); } }
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)); }
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()); }
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); }
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); }
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); }
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); } }
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)); }
public void ShowSourceCode(int lineNumber) { ShowSourceCode(); ITextEditorControlProvider tecp = this.primaryViewContent as ITextEditorControlProvider; if (tecp != null) { tecp.TextEditorControl.ActiveTextAreaControl.JumpTo(lineNumber - 1); } }
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(); } } }
TextEditorControl GetEditor() { //IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveViewContent; ITextEditorControlProvider viewContent = WorkbenchSingleton.ActiveControl as ITextEditorControlProvider; if (viewContent is ITextEditorControlProvider) { return(((ITextEditorControlProvider)viewContent).TextEditorControl); } return(null); }
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); }
/// <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(); } } }
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); } }
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); } } }
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(); } }
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); }
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); }
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)); }
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); }