module ShellCheck.Formatter.Quiet (format) where
import ShellCheck.Interface
import ShellCheck.Formatter.Format
import Control.Monad
import Data.IORef
import System.Exit
format :: FormatterOptions -> IO Formatter
format :: FormatterOptions -> IO Formatter
format FormatterOptions
options =
Formatter -> IO Formatter
forall (m :: * -> *) a. Monad m => a -> m a
return Formatter :: IO ()
-> (CheckResult -> SystemInterface IO -> IO ())
-> (FilePath -> FilePath -> IO ())
-> IO ()
-> Formatter
Formatter {
header :: IO ()
header = () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return (),
footer :: IO ()
footer = () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return (),
onFailure :: FilePath -> FilePath -> IO ()
onFailure = \ FilePath
_ FilePath
_ -> IO ()
forall a. IO a
exitFailure,
onResult :: CheckResult -> SystemInterface IO -> IO ()
onResult = \ CheckResult
result SystemInterface IO
_ -> Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless ([PositionedComment] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null ([PositionedComment] -> Bool) -> [PositionedComment] -> Bool
forall a b. (a -> b) -> a -> b
$ CheckResult -> [PositionedComment]
crComments CheckResult
result) IO ()
forall a. IO a
exitFailure
}