//
//
//
//
// $Revision$
//
using System;
using System.Collections.Generic;
namespace ICSharpCode.TextEditor.Document
{
///
/// A simple folding strategy which calculates the folding level
/// using the indent level of the line.
///
public class IndentFoldingStrategy : IFoldingStrategy
{
public List GenerateFoldMarkers(IDocument document, string fileName, object parseInformation)
{
List l = new List();
Stack offsetStack = new Stack();
Stack textStack = new Stack();
//int level = 0;
//foreach (LineSegment segment in document.LineSegmentCollection) {
//
//}
return l;
}
int GetLevel(IDocument document, int offset)
{
int level = 0;
int spaces = 0;
for (int i = offset; i < document.TextLength; ++i) {
char c = document.GetCharAt(i);
if (c == '\t' || (c == ' ' && ++spaces == 4)) {
spaces = 0;
++level;
} else {
break;
}
}
return level;
}
}
}