// 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); } }