| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Language.Haskell.Liquid.UX.CmdLine
Description
This module contains all the code needed to output the result which is either: SAFE or WARNING with some reasonable error message when something goes wrong. All forms of errors/exceptions should go through here. The idea should be to report the error, the source position that causes it, generate a suitable .json file and then exit.
Synopsis
- getOpts :: [String] -> IO Config
- mkOpts :: Config -> IO Config
- defConfig :: Config
- config :: Mode (CmdArgs Config)
- withPragmas :: MonadIO m => Config -> FilePath -> [Located String] -> (Config -> m a) -> m a
- canonicalizePaths :: FilePath -> Config -> IO Config
- addErrors :: FixResult a -> [a] -> FixResult a
- data OutputResult = OutputResult {
- orHeader :: Doc
- orMessages :: [(SrcSpan, Doc)]
- reportResult :: MonadIO m => (OutputResult -> m ()) -> Config -> [FilePath] -> Output Doc -> m ()
- diffcheck :: Config -> Bool
Get Command Line Configuration
Update Configuration With Pragma
withPragmas :: MonadIO m => Config -> FilePath -> [Located String] -> (Config -> m a) -> m a Source #
Canonicalize Paths in Config
canonicalizePaths :: FilePath -> Config -> IO Config Source #
Attempt to canonicalize all FilePaths in the Config so we don't have to worry about relative paths.
Collecting errors
Reporting the output of the checking
data OutputResult Source #
Constructors
| OutputResult | |
Fields
| |
reportResult :: MonadIO m => (OutputResult -> m ()) -> Config -> [FilePath] -> Output Doc -> m () Source #
Write the annotations (i.e. the files in the ".liquid" hidden folder) and report the result of the checking using a supplied function, or using an implicit JSON function, if json flag is set.
Diff check mode
diffcheck :: Config -> Bool Source #
check subset of binders modified (+ dependencies) since last check