]> git.wincent.com - wikitext.git/commit
Fix list indentation
authorWincent Colaiuta <win@wincent.com>
Fri, 8 Feb 2008 20:05:43 +0000 (21:05 +0100)
committerWincent Colaiuta <win@wincent.com>
Fri, 8 Feb 2008 20:05:43 +0000 (21:05 +0100)
commitaf34180a6ba7b4a475f1e2e4bec236c09ff7bc40
tree4f8972979da55f8bafafb59beb9f7f2d736c8ce9
parent7428f7d585aa78e69d5eccf9bc6729428c6924f1
Fix list indentation

Quick a tricky one, this one, because the LI token is the only one which
varies its behaviour depending on the context.

For example, when it is just a standard list item containing some text
we want it to behave like a P token (ie. when we dedent we don't want to
emit any spaces). On the other hand, if the LI contains a nested list
then it takes on block-like properties and we do want to emit spaces
when dedenting (ie. like blockquote).

We implementing this by introducing another imaginary token,
NESTED_LIST, which is present when a nested list is present and guides
the dedentation process accordingly.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
ext/parser.c
ext/token.c
ext/token.h
spec/ul_spec.rb