View can use any printer, except when pretty_print() is called.
Moreover, make print_todo of PrettyPrinter have the same signature as the Printer class. Clients must use add_filter to specify any additional filters when printing. The Command class holds a PrettyPrinter instance (rather than a generic printer). This means that add_filter is called, all future invocations of print_todo will apply these filters. This is not always desired, so in those cases a subcommand should instantiate its own printer (this happens for instance at the DoCommand).
Showing
Please register or sign in to comment