darcs-2.1.99.0: a distributed, interactive, smart revision control systemSource codeContentsIndex
Printer
Synopsis
data Printable
= S !String
| PS !ByteString
| Both !String !ByteString
newtype Doc = Doc {
unDoc :: Reader St Document
}
type Printers = Handle -> Printers'
data Printers' = Printers {
colorP :: !(Color -> Printer)
invisibleP :: !Printer
hiddenP :: !Printer
userchunkP :: !Printer
defP :: !Printer
lineColorT :: !(Color -> Doc -> Doc)
lineColorS :: !DocumentInternals
}
type Printer = Printable -> Reader St Document
data Color
= Blue
| Red
| Green
| Cyan
| Magenta
hPutDoc :: Handle -> Doc -> IO ()
hPutDocLn :: Handle -> Doc -> IO ()
putDoc :: Doc -> IO ()
putDocLn :: Doc -> IO ()
hPutDocWith :: Printers -> Handle -> Doc -> IO ()
hPutDocLnWith :: Printers -> Handle -> Doc -> IO ()
putDocWith :: Printers -> Doc -> IO ()
putDocLnWith :: Printers -> Doc -> IO ()
renderString :: Doc -> String
renderStringWith :: Printers' -> Doc -> String
renderPS :: Doc -> ByteString
renderPSWith :: Printers' -> Doc -> ByteString
renderPSs :: Doc -> [ByteString]
renderPSsWith :: Printers' -> Doc -> [ByteString]
lineColor :: Color -> Doc -> Doc
prefix :: String -> Doc -> Doc
colorText :: Color -> String -> Doc
invisibleText :: String -> Doc
hiddenText :: String -> Doc
hiddenPrefix :: String -> Doc -> Doc
userchunk :: String -> Doc
text :: String -> Doc
printable :: Printable -> Doc
wrap_text :: Int -> String -> Doc
blueText :: String -> Doc
redText :: String -> Doc
greenText :: String -> Doc
magentaText :: String -> Doc
cyanText :: String -> Doc
unsafeText :: String -> Doc
unsafeBoth :: String -> ByteString -> Doc
unsafeBothText :: String -> Doc
unsafeChar :: Char -> Doc
invisiblePS :: ByteString -> Doc
packedString :: ByteString -> Doc
unsafePackedString :: ByteString -> Doc
userchunkPS :: ByteString -> Doc
simplePrinters :: Printers
invisiblePrinter :: Printer
simplePrinter :: Printer
doc :: ([Printable] -> [Printable]) -> Doc
empty :: Doc
(<>) :: Doc -> Doc -> Doc
(<?>) :: Doc -> Doc -> Doc
(<+>) :: Doc -> Doc -> Doc
($$) :: Doc -> Doc -> Doc
vcat :: [Doc] -> Doc
vsep :: [Doc] -> Doc
hcat :: [Doc] -> Doc
minus :: Doc
newline :: Doc
plus :: Doc
space :: Doc
backslash :: Doc
lparen :: Doc
rparen :: Doc
parens :: Doc -> Doc
errorDoc :: Doc -> a
Documentation
data Printable Source
A Printable is either a String, a packed string, or a chunk of text with both representations.
Constructors
S !String
PS !ByteString
Both !String !ByteString
newtype Doc Source
a Doc is a bit of enriched text. Docs get concatanated using <>, which is right-associative.
Constructors
Doc
unDoc :: Reader St Document
show/hide Instances
type Printers = Handle -> Printers'Source
data Printers' Source
A set of printers to print different types of text to a handle.
Constructors
Printers
colorP :: !(Color -> Printer)
invisibleP :: !Printer
hiddenP :: !Printer
userchunkP :: !Printer
defP :: !Printer
lineColorT :: !(Color -> Doc -> Doc)
lineColorS :: !DocumentInternals
type Printer = Printable -> Reader St DocumentSource
data Color Source
Constructors
Blue
Red
Green
Cyan
Magenta
hPutDoc :: Handle -> Doc -> IO ()Source
hputDoc puts a doc on the given handle using simplePrinters
hPutDocLn :: Handle -> Doc -> IO ()Source
putDoc :: Doc -> IO ()Source
putDoc puts a doc on stdout using the simple printer simplePrinters.
putDocLn :: Doc -> IO ()Source
putDocLn puts a doc, followed by a newline on stdout using simplePrinters
hPutDocWith :: Printers -> Handle -> Doc -> IO ()Source
hputDocWith puts a doc on the given handle using the given printer.
hPutDocLnWith :: Printers -> Handle -> Doc -> IO ()Source
hputDocLnWith puts a doc, followed by a newline on the given handle using the given printer.
putDocWith :: Printers -> Doc -> IO ()Source
putDocWith puts a doc on stdout using the given printer.
putDocLnWith :: Printers -> Doc -> IO ()Source
putDocLnWith puts a doc, followed by a newline on stdout using the given printer.
renderString :: Doc -> StringSource
renders a Doc into a String with control codes for the special features of the doc.
renderStringWith :: Printers' -> Doc -> StringSource
renders a Doc into a String using a given set of printers.
renderPS :: Doc -> ByteStringSource
renders a Doc into ByteString with control codes for the special features of the Doc. See also readerString.
renderPSWith :: Printers' -> Doc -> ByteStringSource
renders a doc into a ByteString using a given set of printers.
renderPSs :: Doc -> [ByteString]Source
renders a Doc into a list of PackedStrings, one for each line.
renderPSsWith :: Printers' -> Doc -> [ByteString]Source
renders a Doc into a list of PackedStrings, one for each chunk of text that was added to the doc, using the given set of printers.
lineColor :: Color -> Doc -> DocSource
prefix :: String -> Doc -> DocSource
colorText :: Color -> String -> DocSource
colorText creates a Doc containing colored text from a String
invisibleText :: String -> DocSource
invisibleText creates a Doc containing invisible text from a String
hiddenText :: String -> DocSource
hiddenText creates a Doc containing hidden text from a String
hiddenPrefix :: String -> Doc -> DocSource
userchunk :: String -> DocSource
userchunk creates a Doc containing a user chunk from a String
text :: String -> DocSource
text creates a Doc from a String, using printable.
printable :: Printable -> DocSource
wrap_text :: Int -> String -> DocSource
wrap_text n s is a Doc representing s line-wrapped at n characters
blueText :: String -> DocSource
redText :: String -> DocSource
blueText creates a Doc containing blue text from a String
greenText :: String -> DocSource
magentaText :: String -> DocSource
cyanText :: String -> DocSource
unsafeText :: String -> DocSource
unsafeText creates a Doc from a String, using simplePrinter directly
unsafeBoth :: String -> ByteString -> DocSource
unsafeBoth builds a Doc from a String and a ByteString representing the same text, but does not check that they do.
unsafeBothText :: String -> DocSource
unsafeBothText builds a Doc from a String. The string is stored in the Doc as both a String and a ByteString.
unsafeChar :: Char -> DocSource
unsafeChar creates a Doc containing just one character.
invisiblePS :: ByteString -> DocSource
invisiblePS creates a Doc with invisible text from a ByteString
packedString :: ByteString -> DocSource
packedString builds a Doc from a ByteString using printable
unsafePackedString :: ByteString -> DocSource
unsafePackedString builds a Doc from a ByteString using simplePrinter
userchunkPS :: ByteString -> DocSource
userchunkPS creates a Doc representing a user chunk from a ByteString.
simplePrinters :: PrintersSource
simplePrinters is a Printers which uses the set 'simplePriners\'' on any handle.
invisiblePrinter :: PrinterSource
invisiblePrinter is the Printer for hidden text. It seems to just replace the document with empty. I'm confused (Florent).
simplePrinter :: PrinterSource
simplePrinter is the simplest Printer: it just concatenates together the pieces of the Doc
doc :: ([Printable] -> [Printable]) -> DocSource
empty :: DocSource
The empty Doc.
(<>) :: Doc -> Doc -> DocSource
'()' is the concatenation operator for Docs
(<?>) :: Doc -> Doc -> DocSource
a <?> b is a if it is not empty, else b.
(<+>) :: Doc -> Doc -> DocSource
a <+> b is a followed by a space, then b.
($$) :: Doc -> Doc -> DocSource
a $$ b is a above b.
vcat :: [Doc] -> DocSource
vcat piles vertically a list of Docs.
vsep :: [Doc] -> DocSource
vsep piles vertically a list of Docs leaving a blank line between each.
hcat :: [Doc] -> DocSource
hcat concatenates (horizontally) a list of Docs
minus :: DocSource
newline :: DocSource
Minimal Docs representing the common characters space, newline minus, plus, and backslash.
plus :: DocSource
space :: DocSource
backslash :: DocSource
lparen :: DocSource
lparen is the Doc that represents "("
rparen :: DocSource
rparen is the Doc that represents ")"
parens :: Doc -> DocSource
parens doc returns a Doc with the content of doc put within a pair of parenthesis.
errorDoc :: Doc -> aSource
Produced by Haddock version 2.4.2