hls-fourmolu-plugin-2.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)
-- these functions are now defined
#else
type FourmoluConfig = PrinterOptsPartial
cfgFilePrinterOpts :: FourmoluConfig -> PrinterOptsPartial
cfgFilePrinterOpts = id
cfgFileFixities :: FourmoluConfig -> FixityOverrides
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 FixityOverrides --}
#if MIN_VERSION_fourmolu(0,13,0)
addFixityOverrides :: FixityOverrides -> Config region -> Config region
addFixityOverrides fixities cfg = cfg{cfgFixityOverrides = fixities}
#elif MIN_VERSION_fourmolu(0,7,0)
type FixityOverrides = FixityMap
addFixityOverrides :: FixityOverrides -> Config region -> Config region
addFixityOverrides fixities cfg = cfg{cfgFixityOverrides = fixities}
#else
type FixityOverrides = ()
addFixityOverrides :: FixityOverrides -> 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