diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/IAdvancedCodeFormatter.cs')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/IAdvancedCodeFormatter.cs | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/IAdvancedCodeFormatter.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/IAdvancedCodeFormatter.cs index 3b5e4321af..42e9cebec8 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/IAdvancedCodeFormatter.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/IAdvancedCodeFormatter.cs @@ -26,11 +26,9 @@ using System; using System.Collections.Generic; -using Mono.TextEditor; using MonoDevelop.Projects.Policies; -using ICSharpCode.NRefactory; -using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.NRefactory.Semantics; +using MonoDevelop.Ide.Editor; +using MonoDevelop.Ide.Gui; namespace MonoDevelop.Ide.CodeFormatting { @@ -39,10 +37,21 @@ namespace MonoDevelop.Ide.CodeFormatting bool SupportsOnTheFlyFormatting { get; } bool SupportsCorrectingIndent { get; } - void CorrectIndenting (PolicyContainer policyParent, IEnumerable<string> mimeTypeChain, TextEditorData textEditorData, int line); - - void OnTheFlyFormat (MonoDevelop.Ide.Gui.Document doc, int startOffset, int endOffset); + void CorrectIndenting (PolicyContainer policyParent, IEnumerable<string> mimeTypeChain, TextEditor textEditorData, int line); + void OnTheFlyFormat (TextEditor editor, DocumentContext context, int startOffset, int endOffset); + } + + public static class AdvancedCodeFormatterExtensions + { + public static void OnTheFlyFormat (this IAdvancedCodeFormatter formatter, Document document, int startOffset, int endOffset) + { + if (formatter == null) + throw new ArgumentNullException ("formatter"); + formatter.OnTheFlyFormat (document.Editor, document, startOffset, endOffset); + } + + } public abstract class AbstractAdvancedFormatter : AbstractCodeFormatter, IAdvancedCodeFormatter @@ -50,13 +59,18 @@ namespace MonoDevelop.Ide.CodeFormatting public virtual bool SupportsOnTheFlyFormatting { get { return false; } } public virtual bool SupportsCorrectingIndent { get { return false; } } - public virtual void OnTheFlyFormat (MonoDevelop.Ide.Gui.Document doc, int startOffset, int endOffset) + public virtual void OnTheFlyFormat (TextEditor editor, DocumentContext context, int startOffset, int endOffset) { throw new NotSupportedException (); } - + + public void OnTheFlyFormat (Document doc, int startOffset, int endOffset) + { + OnTheFlyFormat (doc.Editor, doc, startOffset, endOffset); + } + public virtual void CorrectIndenting (PolicyContainer policyParent, IEnumerable<string> mimeTypeChain, - TextEditorData data, int line) + TextEditor data, int line) { throw new NotSupportedException (); } |