The user should be able to run a source code formatter over an entire file or just a selection in the Haskell editor. The formatter should be configurable on a preference page for the entire workspace, or on a project properties page for a single project. Formatter option should also be honored for refactorings and other automatisms that generate code.