module Language.Haskell.HGrep.Internal.Data (
ParsedSource (..)
, ParseError (..)
, Query
, SearchResult (..)
, PrintOpts (..)
, defaultPrintOpts
, ColourOpts (..)
) where
import Language.Haskell.HGrep.Prelude
import qualified Language.Haskell.GHC.ExactPrint.Annotater as EA
import qualified Language.Haskell.GHC.ExactPrint.Types as ET
import qualified GHC
import qualified SrcLoc
newtype ParsedSource = ParsedSource {
unParsedSource :: (ET.Anns, GHC.Located (GHC.HsModule GHC.RdrName))
}
newtype ParseError = ParseError {
unParseError :: (SrcLoc.SrcSpan, [Char])
}
type Query = [Char]
data SearchResult =
forall ast. EA.Annotate ast =>
SearchResult ET.Anns (SrcLoc.Located ast)
data PrintOpts = PrintOpts {
poColourOpts :: ColourOpts
} deriving (Eq, Ord, Show)
data ColourOpts =
DefaultColours
| NoColours
deriving (Eq, Ord, Show)
defaultPrintOpts :: PrintOpts
defaultPrintOpts =
PrintOpts {
poColourOpts = DefaultColours
}