// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.AvalonEdit.Document;
using System.Collections.Generic;
namespace ICSharpCode.AvalonEdit.Folding
{
///
/// Base class for folding strategies.
///
public abstract class AbstractFoldingStrategy
{
///
/// Create s for the specified document and updates the folding manager with them.
///
public void UpdateFoldings(FoldingManager manager, TextDocument document)
{
int firstErrorOffset;
IEnumerable foldings = CreateNewFoldings(document, out firstErrorOffset);
manager.UpdateFoldings(foldings, firstErrorOffset);
}
///
/// Create s for the specified document.
///
public abstract IEnumerable CreateNewFoldings(TextDocument document, out int firstErrorOffset);
}
}