Safe Haskell | None |
---|---|
Language | GHC2021 |
Hix.Preproc
Documentation
type Regex = IndexedTraversal' Int ByteString Match Source #
data CabalConfig Source #
Constructors
CabalConfig | |
Fields
|
Instances
newtype DummyExportName Source #
Constructors
DummyExportName | |
Fields |
Instances
IsString DummyExportName Source # | |||||
Defined in Hix.Preproc Methods fromString :: String -> DummyExportName # | |||||
Generic DummyExportName Source # | |||||
Defined in Hix.Preproc Associated Types
Methods from :: DummyExportName -> Rep DummyExportName x # to :: Rep DummyExportName x -> DummyExportName # | |||||
Show DummyExportName Source # | |||||
Defined in Hix.Preproc Methods showsPrec :: Int -> DummyExportName -> ShowS # show :: DummyExportName -> String # showList :: [DummyExportName] -> ShowS # | |||||
Eq DummyExportName Source # | |||||
Defined in Hix.Preproc Methods (==) :: DummyExportName -> DummyExportName -> Bool # (/=) :: DummyExportName -> DummyExportName -> Bool # | |||||
Ord DummyExportName Source # | |||||
Defined in Hix.Preproc Methods compare :: DummyExportName -> DummyExportName -> Ordering # (<) :: DummyExportName -> DummyExportName -> Bool # (<=) :: DummyExportName -> DummyExportName -> Bool # (>) :: DummyExportName -> DummyExportName -> Bool # (>=) :: DummyExportName -> DummyExportName -> Bool # max :: DummyExportName -> DummyExportName -> DummyExportName # min :: DummyExportName -> DummyExportName -> DummyExportName # | |||||
type Rep DummyExportName Source # | |||||
Defined in Hix.Preproc type Rep DummyExportName = D1 ('MetaData "DummyExportName" "Hix.Preproc" "hix-0.8.0-HgAAo9T3AqQBueO4fzYR2Q" 'True) (C1 ('MetaCons "DummyExportName" 'PrefixI 'True) (S1 ('MetaSel ('Just "unDummyExportName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))) |
takeLine :: ByteString -> Maybe (ByteString, ByteString) Source #
line :: ByteString -> Builder Source #
joinLinesReverse :: [ByteString] -> ByteString Source #
joinLinesReverseBuilder :: [ByteString] -> Builder Source #
languagePragma :: [Builder] -> Builder Source #
optionsPragma :: Builder -> Builder Source #
commentRegex :: Regex Source #
moduleRegex :: Regex Source #
importRegex :: Regex Source #
isComment :: ByteString -> Bool Source #
isModule :: ByteString -> Maybe ByteString Source #
isModuleEnd :: ByteString -> Bool Source #
isImportsEnd :: ByteString -> Bool Source #
isImport :: ByteString -> Bool Source #
Constructors
PreModule | |
ModuleStart | |
ModuleExports | |
Imports |
Instances
Generic Phase Source # | |||||
Defined in Hix.Preproc Associated Types
| |||||
Show Phase Source # | |||||
Eq Phase Source # | |||||
type Rep Phase Source # | |||||
Defined in Hix.Preproc type Rep Phase = D1 ('MetaData "Phase" "Hix.Preproc" "hix-0.8.0-HgAAo9T3AqQBueO4fzYR2Q" 'False) ((C1 ('MetaCons "PreModule" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModuleStart" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ModuleExports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Imports" 'PrefixI 'False) (U1 :: Type -> Type))) |
data PreludeAction Source #
Constructors
PreludeDefault | |
PreludeNoImplicit | |
PreludeReplaced |
Instances
Generic PreludeAction Source # | |||||
Defined in Hix.Preproc Associated Types
| |||||
Show PreludeAction Source # | |||||
Defined in Hix.Preproc Methods showsPrec :: Int -> PreludeAction -> ShowS # show :: PreludeAction -> String # showList :: [PreludeAction] -> ShowS # | |||||
Eq PreludeAction Source # | |||||
Defined in Hix.Preproc Methods (==) :: PreludeAction -> PreludeAction -> Bool # (/=) :: PreludeAction -> PreludeAction -> Bool # | |||||
type Rep PreludeAction Source # | |||||
Defined in Hix.Preproc type Rep PreludeAction = D1 ('MetaData "PreludeAction" "Hix.Preproc" "hix-0.8.0-HgAAo9T3AqQBueO4fzYR2Q" 'False) (C1 ('MetaCons "PreludeDefault" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PreludeNoImplicit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PreludeReplaced" 'PrefixI 'False) (U1 :: Type -> Type))) |
data CustomPrelude Source #
Constructors
CustomPrelude Prelude PreludeAction | |
NoCustomPrelude |
Instances
Generic CustomPrelude Source # | |||||
Defined in Hix.Preproc Associated Types
| |||||
Show CustomPrelude Source # | |||||
Defined in Hix.Preproc Methods showsPrec :: Int -> CustomPrelude -> ShowS # show :: CustomPrelude -> String # showList :: [CustomPrelude] -> ShowS # | |||||
type Rep CustomPrelude Source # | |||||
Defined in Hix.Preproc type Rep CustomPrelude = D1 ('MetaData "CustomPrelude" "Hix.Preproc" "hix-0.8.0-HgAAo9T3AqQBueO4fzYR2Q" 'False) (C1 ('MetaCons "CustomPrelude" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Prelude) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PreludeAction)) :+: C1 ('MetaCons "NoCustomPrelude" 'PrefixI 'False) (U1 :: Type -> Type)) |
preludeRegex :: Regex Source #
replacePrelude :: ByteString -> Prelude -> Maybe ByteString Source #
parenRegex :: Regex Source #
insertExport :: ByteString -> ByteString Source #
moduleExports :: ByteString -> [ByteString] Source #
Constructors
Header | |
Fields
|
Instances
Generic Header Source # | |||||
Defined in Hix.Preproc Associated Types
| |||||
Show Header Source # | |||||
type Rep Header Source # | |||||
Defined in Hix.Preproc type Rep Header = D1 ('MetaData "Header" "Hix.Preproc" "hix-0.8.0-HgAAo9T3AqQBueO4fzYR2Q" 'False) (C1 ('MetaCons "Header" 'PrefixI 'True) ((S1 ('MetaSel ('Just "moduleLines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ByteString]) :*: (S1 ('MetaSel ('Just "importLines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ByteString]) :*: S1 ('MetaSel ('Just "rest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Builder))) :*: ((S1 ('MetaSel ('Just "moduleEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "importsEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "prelude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CustomPrelude) :*: S1 ('MetaSel ('Just "exportsSelf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) |
Constructors
ScanState | |
Fields
|
Instances
Generic ScanState Source # | |||||
Defined in Hix.Preproc Associated Types
| |||||
Show ScanState Source # | |||||
type Rep ScanState Source # | |||||
Defined in Hix.Preproc type Rep ScanState = D1 ('MetaData "ScanState" "Hix.Preproc" "hix-0.8.0-HgAAo9T3AqQBueO4fzYR2Q" 'False) (C1 ('MetaCons "ScanState" 'PrefixI 'True) (((S1 ('MetaSel ('Just "phase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Phase) :*: S1 ('MetaSel ('Just "moduleLines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ByteString])) :*: (S1 ('MetaSel ('Just "importLines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ByteString]) :*: S1 ('MetaSel ('Just "moduleLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just "importsLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "prelude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CustomPrelude)) :*: (S1 ('MetaSel ('Just "moduleName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ByteString)) :*: S1 ('MetaSel ('Just "exportsSelf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) |
scanHeader :: Maybe Prelude -> ByteString -> Header Source #
customPreludeImport :: Prelude -> Builder Source #
pattern NeedPreludeExtensions :: PreludeAction Source #
needDummy :: CustomPrelude -> Bool Source #
pattern NeedDummy :: CustomPrelude Source #
explicitPreludeImport :: Builder -> CustomPrelude -> Builder Source #
dummyDecl :: CustomPrelude -> Builder -> DummyExportName -> Builder Source #
replaceDummy :: CustomPrelude -> Bool -> DummyExportName -> ByteString -> ByteString Source #
assemble :: Path Abs File -> Header -> Maybe Builder -> Maybe Builder -> DummyExportName -> Builder Source #
preprocessModule :: Path Abs File -> CabalConfig -> DummyExportName -> ByteString -> Builder Source #
preprocessWith :: PreprocOptions -> CabalConfig -> M () Source #
fromConfig :: Maybe (Path Abs Dir) -> Path Abs File -> Either PreprocConfig JsonConfig -> M CabalConfig Source #
fromCabal :: BuildInfo -> CabalConfig Source #
fromCabalFile :: Path Abs File -> M CabalConfig Source #
preprocess :: PreprocOptions -> M () Source #