Copyright | (c) Dennis Gosnell 2016 |
---|---|
License | BSD-style (see LICENSE file) |
Maintainer | cdep.illabout@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- data UseColor
- data OutputOptions = OutputOptions {}
- useColor :: Lens' OutputOptions UseColor
- indentAmount :: Lens' OutputOptions Int
- defaultOutputOptions :: OutputOptions
- render :: OutputOptions -> [Output] -> Text
- renderOutputs :: forall m. MonadReader OutputOptions m => [Output] -> m Builder
- renderRaibowParenFor :: MonadReader OutputOptions m => NestLevel -> Builder -> m Builder
- renderOutput :: MonadReader OutputOptions m => Output -> m Builder
- sequenceFold :: (Monad f, Monoid a, Traversable t) => t (f a) -> f a
- modificationsOutputList :: [Output] -> [Output]
- removeStartingNewLine :: [Output] -> [Output]
- compressOthers :: [Output] -> [Output]
- shrinkWhitespaceInOthers :: [Output] -> [Output]
- shrinkWhitespaceInOther :: Output -> Output
- shrinkWhitespace :: String -> String
- colorQuote :: MonadReader OutputOptions m => m Builder
- colorString :: MonadReader OutputOptions m => m Builder
- colorError :: MonadReader OutputOptions m => m Builder
- colorNum :: MonadReader OutputOptions m => m Builder
- rainbowParen :: forall m. MonadReader OutputOptions m => NestLevel -> m Builder
- canUseColor :: MonadReader OutputOptions m => m Bool
- ifM :: Monad m => m Bool -> a -> a -> m a
- colorBold :: MonadReader OutputOptions m => m Builder
- colorReset :: MonadReader OutputOptions m => m Builder
- colorVividBlue :: MonadReader OutputOptions m => m Builder
- colorVividCyan :: MonadReader OutputOptions m => m Builder
- colorVividGreen :: MonadReader OutputOptions m => m Builder
- colorVividMagenta :: MonadReader OutputOptions m => m Builder
- colorVividRed :: MonadReader OutputOptions m => m Builder
- colorVividWhite :: MonadReader OutputOptions m => m Builder
- colorVividYellow :: MonadReader OutputOptions m => m Builder
- colorHelper :: MonadReader OutputOptions m => ColorIntensity -> Color -> m Builder
- appendColors :: MonadReader OutputOptions m => m Builder -> m Builder -> m Builder
- setSGRCodeBuilder :: [SGR] -> Builder
Documentation
data OutputOptions Source #
Data-type wrapping up all the options available when rendering the list
of Output
s.
OutputOptions | |
|
defaultOutputOptions :: OutputOptions Source #
Default values for OutputOptions
. _indentAmount
defaults to 4, and
_useColor
defaults to UseColor
.
renderOutputs :: forall m. MonadReader OutputOptions m => [Output] -> m Builder Source #
renderRaibowParenFor :: MonadReader OutputOptions m => NestLevel -> Builder -> m Builder Source #
renderOutput :: MonadReader OutputOptions m => Output -> m Builder Source #
sequenceFold :: (Monad f, Monoid a, Traversable t) => t (f a) -> f a Source #
modificationsOutputList :: [Output] -> [Output] Source #
A function that performs optimizations and modifications to a list of
input Output
s.
An sample of an optimization is removeStartingNewLine
which just removes a
newline if it is the first item in an Output
list.
removeStartingNewLine :: [Output] -> [Output] Source #
Remove a OutputNewLine
if it is the first item in the Output
list.
>>>
removeStartingNewLine [Output 3 OutputNewLine, Output 3 OutputComma]
[Output {outputNestLevel = NestLevel {_unNestLevel = 3}, outputOutputType = OutputComma}]
compressOthers :: [Output] -> [Output] Source #
If there are two subsequent OutputOther
tokens, combine them into just
one OutputOther
.
>>>
compressOthers [Output 0 (OutputOther "foo"), Output 0 (OutputOther "bar")]
[Output {outputNestLevel = NestLevel {_unNestLevel = 0}, outputOutputType = OutputOther "foobar"}]
shrinkWhitespaceInOthers :: [Output] -> [Output] Source #
In each OutputOther
token, compress multiple whitespaces to just one
whitespace.
>>>
shrinkWhitespaceInOthers [Output 0 (OutputOther " hello ")]
[Output {outputNestLevel = NestLevel {_unNestLevel = 0}, outputOutputType = OutputOther " hello "}]
shrinkWhitespace :: String -> String Source #
colorQuote :: MonadReader OutputOptions m => m Builder Source #
colorString :: MonadReader OutputOptions m => m Builder Source #
colorError :: MonadReader OutputOptions m => m Builder Source #
colorNum :: MonadReader OutputOptions m => m Builder Source #
rainbowParen :: forall m. MonadReader OutputOptions m => NestLevel -> m Builder Source #
canUseColor :: MonadReader OutputOptions m => m Bool Source #
colorBold :: MonadReader OutputOptions m => m Builder Source #
colorReset :: MonadReader OutputOptions m => m Builder Source #
colorVividBlue :: MonadReader OutputOptions m => m Builder Source #
colorVividCyan :: MonadReader OutputOptions m => m Builder Source #
colorVividGreen :: MonadReader OutputOptions m => m Builder Source #
colorVividMagenta :: MonadReader OutputOptions m => m Builder Source #
colorVividRed :: MonadReader OutputOptions m => m Builder Source #
colorVividWhite :: MonadReader OutputOptions m => m Builder Source #
colorVividYellow :: MonadReader OutputOptions m => m Builder Source #
colorHelper :: MonadReader OutputOptions m => ColorIntensity -> Color -> m Builder Source #
appendColors :: MonadReader OutputOptions m => m Builder -> m Builder -> m Builder Source #
setSGRCodeBuilder :: [SGR] -> Builder Source #