hls-fourmolu-plugin-1.1.0.0: src/Ide/Plugin/Fourmolu/Shim.hs
{-# LANGUAGE CPP #-}
module Ide.Plugin.Fourmolu.Shim (
-- * FourmoluConfig
cfgFilePrinterOpts,
cfgFileFixities,
emptyConfig,
-- * FixityMap
addFixityOverrides,
-- * ConfigParseError
showParseError,
) where
import Ormolu.Config
#if MIN_VERSION_fourmolu(0,7,0)
import Ormolu.Fixity
#endif
{-- Backport FourmoluConfig --}
#if !MIN_VERSION_fourmolu(0,7,0)
type FourmoluConfig = PrinterOptsPartial
cfgFilePrinterOpts :: FourmoluConfig -> PrinterOptsPartial
cfgFilePrinterOpts = id
cfgFileFixities :: FourmoluConfig -> FixityMap
cfgFileFixities _ = mempty
#endif
#if MIN_VERSION_fourmolu(0,8,1)
-- emptyConfig now provided
#elif MIN_VERSION_fourmolu(0,7,0)
emptyConfig :: FourmoluConfig
emptyConfig =
FourmoluConfig
{ cfgFilePrinterOpts = mempty
, cfgFileFixities = mempty
}
#else
emptyConfig :: FourmoluConfig
emptyConfig = mempty
#endif
{-- Backport FixityMap --}
#if MIN_VERSION_fourmolu(0,7,0)
addFixityOverrides :: FixityMap -> Config region -> Config region
addFixityOverrides fixities cfg = cfg{cfgFixityOverrides = fixities}
#else
type FixityMap = ()
addFixityOverrides :: FixityMap -> Config region -> Config region
addFixityOverrides _ = id
#endif
{-- Backport ConfigParseError --}
#if MIN_VERSION_fourmolu(0,7,0)
showParseError :: Show parseException => parseException -> String
showParseError = show
#else
showParseError :: (pos, String) -> String
showParseError = snd
#endif