| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Turtle.Line
Synopsis
- data Line
- lineToText :: Line -> Text
- textToLines :: Text -> NonEmpty Line
- linesToText :: [Line] -> Text
- textToLine :: Text -> Maybe Line
- unsafeTextToLine :: Text -> Line
- data NewlineForbidden = NewlineForbidden
Documentation
A line of text (does not contain newlines).
lineToText :: Line -> Text Source #
Convert a line to a text value.
textToLines :: Text -> NonEmpty Line Source #
Split text into lines. The inverse of linesToText.
linesToText :: [Line] -> Text Source #
Merge lines into a single text value.
textToLine :: Text -> Maybe Line Source #
Try to convert a text value into a line. Precondition (checked): the argument does not contain newlines.
unsafeTextToLine :: Text -> Line Source #
Convert a text value into a line. Precondition (unchecked): the argument does not contain newlines.
data NewlineForbidden Source #
The NewlineForbidden exception is thrown when you construct a Line
using an overloaded string literal or by calling fromString explicitly
and the supplied string contains newlines. This is a programming error to
do so: if you aren't sure that the input string is newline-free, do not
rely on the instance.IsString Line
When debugging, it might be useful to look for implicit invocations of
fromString for Line:
>>> sh (do { line <- "Hello\nWorld"; echo line })
*** Exception: NewlineForbiddenIn the above example, echo expects its argument to be a Line, thus
line :: . Since we bind Lineline in Shell, the string literal
"Hello\nWorld" has type . The
Shell Line instance delegates the construction of a
IsString (Shell Line)Line to the instance, where the exception is thrown.IsString Line
To fix the problem, use textToLines:
>>> sh (do { line <- select (textToLines "Hello\nWorld"); echo line })
Hello
WorldConstructors
| NewlineForbidden |
Instances
| Show NewlineForbidden Source # | |
Defined in Turtle.Line Methods showsPrec :: Int -> NewlineForbidden -> ShowS # show :: NewlineForbidden -> String # showList :: [NewlineForbidden] -> ShowS # | |
| Exception NewlineForbidden Source # | |
Defined in Turtle.Line Methods toException :: NewlineForbidden -> SomeException # | |