aboutsummaryrefslogtreecommitdiff
path: root/html-test/src/Nesting.hs
diff options
context:
space:
mode:
authorMateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>2013-09-08 01:28:57 +0100
committerAustin Seipp <austin@well-typed.com>2014-01-12 14:48:36 -0600
commita03c93524ba2ca4143c10770a2fa0dd134b57a83 (patch)
tree4ad5195b56ffcb92d9897b036e4c629fc7732fd3 /html-test/src/Nesting.hs
parent2aec8fdde55579b62f480c6b2a567bd5392fdff2 (diff)
Allow for nesting of paragraphs under lists.
The nesting rules are similar to Markdown's with the exception that we can not simply indent the first line of a hard wrapped indented paragraph and have it treated as if it was fully indented. The reason is differences in markup as some of our constructs care about whitespace while others just swallow everything up so it's just a lot easier to not bother with it rather than making arbitrary rules. Note that we now drop trailing for string entities inside of lists. They weren't needed and it makes the output look uniform whether we use a single or double newline between list elements. Conflicts: src/Haddock/Parser.hs test/Haddock/ParserSpec.hs
Diffstat (limited to 'html-test/src/Nesting.hs')
-rw-r--r--html-test/src/Nesting.hs115
1 files changed, 115 insertions, 0 deletions
diff --git a/html-test/src/Nesting.hs b/html-test/src/Nesting.hs
new file mode 100644
index 00000000..5ab27ec0
--- /dev/null
+++ b/html-test/src/Nesting.hs
@@ -0,0 +1,115 @@
+module Nesting where
+
+{-|
+* We can
+
+ * easily go back
+
+ 1. some indentation
+
+ * levels
+
+1. @back at the top@
+
+-}
+d :: t
+d = undefined
+
+
+{-|
+* Beginning of list
+
+ * second list
+
+ * Some indented list but
+the presence of this text pushes it out of nesting back to the top.
+-}
+e :: t
+e = undefined
+
+
+{-|
+* Beginning of list
+
+ @
+ nested code
+ we preserve the space correctly
+ @
+-}
+f :: t
+f = undefined
+
+
+{-|
+* Beginning of list
+
+ * Nested list
+-}
+g :: t
+g = undefined
+
+{-|
+* Beginning of list
+
+ > nested
+ > bird
+ > tracks
+-}
+h :: t
+h = undefined
+
+{-|
+* Beginning of list
+This belongs to the list above!
+
+ > nested
+ > bird
+ > tracks
+
+ * Next list
+ More of the indented list.
+
+ * Deeper
+
+ * Deeper
+
+ * Even deeper!
+ * No newline separation even in indented lists.
+-}
+i :: t
+i = undefined
+
+
+
+{-|
+[All this] Works for
+definition lists too.
+
+ > nested
+ > bird
+ > tracks
+
+ * Next list
+ with more of the indented list content.
+
+ Even more content on a new line.
+
+ 1. Different type of list
+
+ (2) Deeper
+
+ >>> Here's an example in a list
+ example result
+
+ [b] Even deeper!
+ [c] No newline separation even in indented lists.
+ We can have any paragraph level element that we normally
+ can, like headers
+
+ === Level 3 header
+ with some content…
+
+ * and even more lists inside
+-}
+j :: t
+j = undefined