-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Indents source files
--
-- Indents source files
@package tabs
@version 0.1.0.0
module Text.Indent.Class
class Indenter a
indent :: Indenter a => IndentMode -> String -> Tagged a String
data IndentMode
DropOldTabs :: IndentMode
KeepOldTabs :: IndentMode
-- | A Tagged s b value is a value b with an
-- attached phantom type s. This can be used in place of the
-- more traditional but less safe idiom of passing in an undefined value
-- with the type, because unlike an (s -> b), a
-- Tagged s b can't try to use the argument s as
-- a real value.
--
-- Moreover, you don't have to rely on the compiler to inline away the
-- extra argument, because the newtype is "free"
--
-- Tagged has kind k -> * -> * if the compiler
-- supports PolyKinds, therefore there is an extra k
-- showing in the instance haddocks that may cause confusion.
data Tagged k (s :: k) b :: forall k. () => k -> * -> *
module Text.Indent.Type.CodeGen
data CodeGen
instance GHC.Classes.Eq Text.Indent.Type.CodeGen.IndentItem
instance GHC.Show.Show Text.Indent.Type.CodeGen.IndentItem
instance Text.Indent.Class.Indenter Text.Indent.Type.CodeGen.CodeGen
module Text.Indent