mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.0 KiB
30 lines
1.0 KiB
// 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 |
|
{ |
|
/// <summary> |
|
/// Base class for folding strategies. |
|
/// </summary> |
|
public abstract class AbstractFoldingStrategy |
|
{ |
|
/// <summary> |
|
/// Create <see cref="NewFolding"/>s for the specified document and updates the folding manager with them. |
|
/// </summary> |
|
public void UpdateFoldings(FoldingManager manager, TextDocument document) |
|
{ |
|
int firstErrorOffset; |
|
IEnumerable<NewFolding> foldings = CreateNewFoldings(document, out firstErrorOffset); |
|
manager.UpdateFoldings(foldings, firstErrorOffset); |
|
} |
|
|
|
/// <summary> |
|
/// Create <see cref="NewFolding"/>s for the specified document. |
|
/// </summary> |
|
public abstract IEnumerable<NewFolding> CreateNewFoldings(TextDocument document, out int firstErrorOffset); |
|
} |
|
}
|
|
|