Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data ParseError a Source #
Instances
data ApplyError a Source #
VariantsMissing [a] | |
VariantAlreadyExists [a] |
Instances
Foldable ApplyError Source # | |
Defined in Confetti fold :: Monoid m => ApplyError m -> m # foldMap :: Monoid m => (a -> m) -> ApplyError a -> m # foldr :: (a -> b -> b) -> b -> ApplyError a -> b # foldr' :: (a -> b -> b) -> b -> ApplyError a -> b # foldl :: (b -> a -> b) -> b -> ApplyError a -> b # foldl' :: (b -> a -> b) -> b -> ApplyError a -> b # foldr1 :: (a -> a -> a) -> ApplyError a -> a # foldl1 :: (a -> a -> a) -> ApplyError a -> a # toList :: ApplyError a -> [a] # null :: ApplyError a -> Bool # length :: ApplyError a -> Int # elem :: Eq a => a -> ApplyError a -> Bool # maximum :: Ord a => ApplyError a -> a # minimum :: Ord a => ApplyError a -> a # sum :: Num a => ApplyError a -> a # product :: Num a => ApplyError a -> a # | |
Show a => Show (ApplyError a) Source # | |
Defined in Confetti showsPrec :: Int -> ApplyError a -> ShowS # show :: ApplyError a -> String # showList :: [ApplyError a] -> ShowS # |
appendVariantExists :: ApplyError a -> ApplyError a -> ApplyError a Source #
concatVariantExists :: [ApplyError a] -> ApplyError a Source #
maybeApplyError :: ApplyError a -> Maybe (ApplyError a) Source #
type ConfigVariant = String Source #
type ConfigVariantFileName = String Source #
type ConfigVariantPrefix = Maybe String Source #
type ConfigTarget = String Source #
data SearchPath Source #
Instances
Eq SearchPath Source # | |
Defined in Confetti (==) :: SearchPath -> SearchPath -> Bool # (/=) :: SearchPath -> SearchPath -> Bool # | |
Show SearchPath Source # | |
Defined in Confetti showsPrec :: Int -> SearchPath -> ShowS # show :: SearchPath -> String # showList :: [SearchPath] -> ShowS # | |
Generic SearchPath Source # | |
Defined in Confetti type Rep SearchPath :: Type -> Type # from :: SearchPath -> Rep SearchPath x # to :: Rep SearchPath x -> SearchPath # | |
FromJSON SearchPath Source # | |
Defined in Confetti parseJSON :: Value -> Parser SearchPath # parseJSONList :: Value -> Parser [SearchPath] # | |
type Rep SearchPath Source # | |
Defined in Confetti type Rep SearchPath = D1 (MetaData "SearchPath" "Confetti" "confetti-1.0.0-Bv6NuW03r9D62JF72iBgOv" False) (C1 (MetaCons "SearchPath" PrefixI True) (S1 (MetaSel (Just "path") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath) :*: S1 (MetaSel (Just "recursive") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool)))) |
data VariantSearch Source #
Instances
data ConfigGroup Source #
ConfigGroup | |
|
Instances
Show ConfigGroup Source # | |
Defined in Confetti showsPrec :: Int -> ConfigGroup -> ShowS # show :: ConfigGroup -> String # showList :: [ConfigGroup] -> ShowS # | |
Generic ConfigGroup Source # | |
Defined in Confetti type Rep ConfigGroup :: Type -> Type # from :: ConfigGroup -> Rep ConfigGroup x # to :: Rep ConfigGroup x -> ConfigGroup # | |
FromJSON ConfigGroup Source # | |
Defined in Confetti parseJSON :: Value -> Parser ConfigGroup # parseJSONList :: Value -> Parser [ConfigGroup] # | |
type Rep ConfigGroup Source # | |
Defined in Confetti type Rep ConfigGroup = D1 (MetaData "ConfigGroup" "Confetti" "confetti-1.0.0-Bv6NuW03r9D62JF72iBgOv" False) (C1 (MetaCons "ConfigGroup" PrefixI True) (S1 (MetaSel (Just "name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "targets") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath]) :*: S1 (MetaSel (Just "searchPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [SearchPath]))))) |
data CommonConfigGroup Source #
Instances
data ParsedSpecFile Source #
Instances
Show ParsedSpecFile Source # | |
Defined in Confetti showsPrec :: Int -> ParsedSpecFile -> ShowS # show :: ParsedSpecFile -> String # showList :: [ParsedSpecFile] -> ShowS # | |
Generic ParsedSpecFile Source # | |
Defined in Confetti type Rep ParsedSpecFile :: Type -> Type # from :: ParsedSpecFile -> Rep ParsedSpecFile x # to :: Rep ParsedSpecFile x -> ParsedSpecFile # | |
FromJSON ParsedSpecFile Source # | |
Defined in Confetti parseJSON :: Value -> Parser ParsedSpecFile # parseJSONList :: Value -> Parser [ParsedSpecFile] # | |
type Rep ParsedSpecFile Source # | |
Defined in Confetti type Rep ParsedSpecFile = D1 (MetaData "ParsedSpecFile" "Confetti" "confetti-1.0.0-Bv6NuW03r9D62JF72iBgOv" False) (C1 (MetaCons "ParsedSpecFile" PrefixI True) (S1 (MetaSel (Just "groups") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [ConfigGroup]) :*: S1 (MetaSel (Just "commonGroup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe CommonConfigGroup)))) |
data ConfigSpec Source #
parseGroup :: FilePath -> Text -> IO (Either (ParseError Text) ConfigGroup) Source #
defaultSearchPaths :: [ConfigTarget] -> Maybe [SearchPath] -> IO [SearchPath] Source #
findGroup :: ParsedSpecFile -> Text -> IO (Either (ParseError Text) ConfigGroup) Source #
backUpIfNonSymLink :: Bool -> FilePath -> IO (Maybe (ApplyError FilePath)) Source #
createBackup :: FilePath -> IO () Source #
removeIfExists :: FilePath -> IO () Source #
filterMissingVariants :: [ConfigVariant] -> IO [FilePath] Source #
linkTargets :: [VariantSearch] -> IO () Source #
searchVariants :: ConfigVariantPrefix -> [ConfigTarget] -> [SearchPath] -> IO [VariantSearch] Source #
applySpec :: ConfigSpec -> IO (Maybe (ApplyError FilePath)) Source #
printSuccess :: String -> IO () Source #