Welcome to mirror list, hosted at ThFree Co, Russian Federation.

HelperMethods.cs « MonoDevelop.CSharp.Refactoring « CSharpBinding « addins « src « main - github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 20374b345222c1eb360816638b2fe5f09196202e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//// 
//// HelperMethods.cs
////  
//// Author:
////       Mike Krüger <mkrueger@xamarin.com>
//// 
//// Copyright (c) 2011 Xamarin Inc.
//// 
//// Permission is hereby granted, free of charge, to any person obtaining a copy
//// of this software and associated documentation files (the "Software"), to deal
//// in the Software without restriction, including without limitation the rights
//// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
//// copies of the Software, and to permit persons to whom the Software is
//// furnished to do so, subject to the following conditions:
//// 
//// The above copyright notice and this permission notice shall be included in
//// all copies or substantial portions of the Software.
//// 
//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
//// THE SOFTWARE.
//using System;
//using ICSharpCode.NRefactory.CSharp;
//using MonoDevelop.Ide.Gui;
//using MonoDevelop.Refactoring;
//using MonoDevelop.Ide.Editor;
//
//namespace MonoDevelop.CSharp.Refactoring
//{
//	static class HelperMethods
//	{
//		public static TextReplaceChange GetRemoveNodeChange (this IReadonlyTextDocument editor, AstNode n)
//		{
//			var change = new TextReplaceChange ();
//			change.FileName = editor.FileName;
//			change.Offset = editor.LocationToOffset (n.StartLocation);
//			change.RemovedChars = editor.LocationToOffset (n.EndLocation) - change.Offset;
//			
//			// remove EOL, when line is empty
//			var line = editor.GetLineByOffset (change.Offset);
//			if (line != null && line.Length == change.RemovedChars)
//				change.RemovedChars += line.DelimiterLength;
//			return change;
//		}
//
//		public static ICSharpCode.NRefactory.CSharp.TextEditorOptions CreateNRefactoryTextEditorOptions (this IReadonlyTextDocument doc, MonoDevelop.CSharp.Formatting.CSharpFormattingPolicy policy, MonoDevelop.Ide.Gui.Content.TextStylePolicy textPolicy)
//		{
//			return new ICSharpCode.NRefactory.CSharp.TextEditorOptions () {
//				TabsToSpaces = textPolicy.TabsToSpaces,
//				TabSize = textPolicy.TabWidth,
//				IndentSize = textPolicy.IndentWidth,
//				ContinuationIndent = textPolicy.IndentWidth,
//				LabelIndent = -textPolicy.IndentWidth,
//				EolMarker = doc.GetEolMarker (),
//				IndentBlankLines = DefaultSourceEditorOptions.Instance.IndentStyle != IndentStyle.Virtual,
//				WrapLineLength = DefaultSourceEditorOptions.Instance.RulerColumn
//			};
//		}
//
//		public static ICSharpCode.NRefactory.CSharp.TextEditorOptions CreateNRefactoryTextEditorOptions (this TextEditor doc)
//		{
//			return new ICSharpCode.NRefactory.CSharp.TextEditorOptions () {
//				TabsToSpaces = doc.Options.TabsToSpaces,
//				TabSize = doc.Options.TabSize,
//				IndentSize = doc.Options.IndentationSize,
//				ContinuationIndent = doc.Options.IndentationSize,
//				LabelIndent = -doc.Options.IndentationSize,
//				EolMarker = doc.EolMarker,
//				IndentBlankLines = doc.Options.IndentStyle != IndentStyle.Virtual,
//				WrapLineLength = doc.Options.RulerColumn
//			};
//		}
//
//		public static void RemoveNode (this ITextDocument editor, AstNode n)
//		{
//			var change = editor.GetRemoveNodeChange (n);
//			editor.RemoveText (change.Offset, change.RemovedChars);
//		}
//
//		public static void Replace (this ITextDocument editor, AstNode n, AstNode replaceWith)
//		{
//			var change = editor.GetRemoveNodeChange (n);
//			editor.ReplaceText (change.Offset, change.RemovedChars, replaceWith.ToString ());
//		}
//	}
//}
//