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

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentVirtualSpaceManager.cs')
-rw-r--r--main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentVirtualSpaceManager.cs52
1 files changed, 17 insertions, 35 deletions
diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentVirtualSpaceManager.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentVirtualSpaceManager.cs
index 0782defa74..2970e88724 100644
--- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentVirtualSpaceManager.cs
+++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentVirtualSpaceManager.cs
@@ -24,62 +24,44 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using Mono.TextEditor;
-using ICSharpCode.NRefactory.CSharp;
using System;
using MonoDevelop.Core;
+using MonoDevelop.Ide.Editor;
+using MonoDevelop.Ide.Editor.Extension;
+using ICSharpCode.NRefactory6.CSharp;
namespace MonoDevelop.CSharp.Formatting
{
- class IndentVirtualSpaceManager : IIndentationTracker
+ class IndentVirtualSpaceManager : IndentationTracker
{
- readonly TextEditorData data;
- readonly CacheIndentEngine stateTracker;
-
- public IndentVirtualSpaceManager(TextEditorData data, CacheIndentEngine stateTracker)
+ readonly TextEditor data;
+ readonly CacheIndentEngine stateTracker;
+
+ public IndentVirtualSpaceManager(TextEditor data, CacheIndentEngine stateTracker)
{
this.data = data;
this.stateTracker = stateTracker;
}
- string GetIndentationString (DocumentLocation loc)
+ #region IndentationTracker implementation
+ public override string GetIndentationString (int lineNumber)
{
- var line = data.Document.GetLine (loc.Line);
+ var line = data.GetLine (lineNumber);
if (line == null)
return "";
// Get context to the end of the line w/o changing the main engine's state
var offset = line.Offset;
- string curIndent = line.GetIndentation (data.Document);
+ string curIndent = line.GetIndentation (data);
try {
- stateTracker.Update (Math.Min (data.Length, offset + Math.Min (line.Length, loc.Column - 1)));
+ stateTracker.Update (data, Math.Min (data.Length, offset + line.Length));
int nlwsp = curIndent.Length;
- if (!stateTracker.LineBeganInsideMultiLineComment || (nlwsp < line.LengthIncludingDelimiter && data.Document.GetCharAt (offset + nlwsp) == '*'))
+ if (!stateTracker.LineBeganInsideMultiLineComment || (nlwsp < line.LengthIncludingDelimiter && data.GetCharAt (offset + nlwsp) == '*'))
return stateTracker.ThisLineIndent;
} catch (Exception e) {
- LoggingService.LogError ("Error while indenting at "+ loc, e);
+ LoggingService.LogError ("Error while indenting at line " + lineNumber, e);
}
return curIndent;
}
-
- public string GetIndentationString (int lineNumber, int column)
- {
- return GetIndentationString (new DocumentLocation (lineNumber, column));
- }
-
- public string GetIndentationString (int offset)
- {
- return GetIndentationString (data.OffsetToLocation (offset));
- }
-
- public int GetVirtualIndentationColumn (int offset)
- {
- return 1 + GetIndentationString (offset).Length;
- }
-
- public int GetVirtualIndentationColumn (int lineNumber, int column)
- {
- return 1 + GetIndentationString (lineNumber, column).Length;
- }
+ #endregion
}
-}
-
+} \ No newline at end of file