data Attribute = Attribute String String
markdown :: Node -> String
-markdown n = rstrip (runReader (node n) metadata) ++ "\n"
- where metadata = Metadata (getPluginName n) (getSymbols n)
+markdown n = if null stripped
+ then ""
+ else stripped ++ "\n"
+ where
+ metadata = Metadata (getPluginName n) (getSymbols n)
+ stripped = rstrip (runReader (node n) metadata)
nodes :: [Node] -> Env
nodes ns = concat <$> mapM node ns
textwidth = 78
vimHelp :: Node -> String
-vimHelp n = suppressTrailingWhitespace output ++ "\n"
+vimHelp n = if null suppressTrailingWhitespace
+ then ""
+ else suppressTrailingWhitespace ++ "\n"
where metadata = Metadata (getPluginName n)
context = Context defaultLineBreak ""
operations = evalState (runReaderT (node n) metadata) context
reduce acc (Slurp atom) = if atom `isSuffixOf` acc
then take (length acc - length atom) acc
else acc
- suppressTrailingWhitespace str = rstrip $ intercalate "\n" (map rstrip (splitOn "\n" str))
+ suppressTrailingWhitespace = rstrip $ intercalate "\n" (map rstrip (splitOn "\n" output))
-- | Helper function that appends and updates `partialLine` context,
-- hard-wrapping if necessary to remain under `textwidth`.