Shall we unify all PreFilter, Parser, Beautifiers and Filters into:
IFilter
{
enum Stage { get; } // PreFiltering, Parsing, Beautifying, Filtering...
int Priority { get; } // Priority within the stage;
}
- The engine doesn't need to predefine the stages any more.
- It picks up all the registered filters, sort them by Stage then by Priority, and runs them though totally.
Shall we unify all PreFilter, Parser, Beautifiers and Filters into: