private Method

LineCollection.add_list_breaks

now insert start/ends between list entries at the same level that have different element types

Source Code

# File rdoc/markup/simple_markup/fragments.rb, line 276
def add_list_breaks
  res = @fragments

  @fragments = []
  list_stack = []

  res.each do |fragment|
    case fragment
    when ListStart
      list_stack.push fragment
    when ListEnd
      start = list_stack.pop
      fragment.type = start.type
    when ListItem
      l = list_stack.last
      if fragment.type != l.type
        @fragments << ListEnd.new(l.level, l.type)
        start = ListStart.new(l.level, fragment.param, fragment.type)
        @fragments << start
        list_stack.pop
        list_stack.push start
      end
    else
      ;
    end
    @fragments << fragment
  end
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.