Ormolu.Exception

fourmolu-0.17.0.0: A formatter for Haskell source code

Safe Haskell | None
Language | GHC2021

Ormolu.Exception

Description

`OrmoluException` type and surrounding definitions.

Synopsis

- data OrmoluException
  - = OrmoluParsingFailed SrcSpan String
  - | OrmoluOutputParsingFailed SrcSpan String
  - | OrmoluASTDiffers TextDiff [RealSrcSpan]
  - | OrmoluNonIdempotentOutput TextDiff
  - | OrmoluUnrecognizedOpts (NonEmpty String)
  - | OrmoluCabalFileParsingFailed FilePath (NonEmpty PError)
  - | OrmoluMissingStdinInputFile
  - | OrmoluFixityOverridesParseError (ParseErrorBundle Text Void)
- printOrmoluException :: OrmoluException -> Term
- withPrettyOrmoluExceptions :: ColorMode -> IO ExitCode -> IO ExitCode

# Documentation

data OrmoluException #

Ormolu exception representing all cases when Ormolu can fail.

Constructors

OrmoluParsingFailed SrcSpan String | Parsing of original source code failed
OrmoluOutputParsingFailed SrcSpan String | Parsing of formatted source code failed
OrmoluASTDiffers TextDiff [RealSrcSpan] | Original and resulting ASTs differ
OrmoluNonIdempotentOutput TextDiff | Formatted source code is not idempotent
OrmoluUnrecognizedOpts (NonEmpty String) | Some GHC options were not recognized
OrmoluCabalFileParsingFailed FilePath (NonEmpty PError) | Cabal file parsing failed
OrmoluMissingStdinInputFile | Missing input file path when using stdin input and accounting for .cabal files
OrmoluFixityOverridesParseError (ParseErrorBundle Text Void) | A parse error in a fixity overrides file

#### Instances

Instances details

Exception OrmoluException # |
Instance details Defined in Ormolu.Exception Methods toException :: OrmoluException -> SomeException # fromException :: SomeException -> Maybe OrmoluException # displayException :: OrmoluException -> String # backtraceDesired :: OrmoluException -> Bool #
Show OrmoluException # |
Instance details Defined in Ormolu.Exception Methods showsPrec :: Int -> OrmoluException -> ShowS # show :: OrmoluException -> String # showList :: [OrmoluException] -> ShowS #

printOrmoluException :: OrmoluException -> Term #

Print an `OrmoluException`.

withPrettyOrmoluExceptions #

Arguments

:: ColorMode | Color mode
-> IO ExitCode | Action that may throw an exception
-> IO ExitCode |

Inside this wrapper `OrmoluException` will be caught and displayed nicely.