An ordered list block

Introduced properties

init defaultinit(location: MdLocation, start_number: Int, delimiter: Char)

markdown2 :: MdOrderedList :: defaultinit

fun delimiter: Char

markdown2 :: MdOrderedList :: delimiter

List number delimiter
protected fun delimiter=(delimiter: Char)

markdown2 :: MdOrderedList :: delimiter=

List number delimiter
fun nesting_level: String

markdown2 :: MdOrderedList :: nesting_level

Depth of ordered list
fun start_number: Int

markdown2 :: MdOrderedList :: start_number

List starting number
protected fun start_number=(start_number: Int)

markdown2 :: MdOrderedList :: start_number=

List starting number

Redefined properties

redef type SELF: MdOrderedList

markdown2 $ MdOrderedList :: SELF

Type of this instance, automatically specialized in every class
redef fun render_man(v: ManRenderer)

markdown2 :: markdown_man_rendering $ MdOrderedList :: render_man

Render self as Manpage format
redef fun to_s_attrs: String

markdown2 $ MdOrderedList :: to_s_attrs

Returns self attributes as a String

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun append_child(child: MdNode)

markdown2 :: MdNode :: append_child

Append a child to self
fun can_contain(block: MdBlock): Bool

markdown2 :: MdBlock :: can_contain

Can this block contain block?
fun children: Array[MdNode]

markdown2 :: MdNode :: children

Children nodes of self
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun debug

markdown2 :: MdNode :: debug

Print self AST
init defaultinit(location: MdLocation, start_number: Int, delimiter: Char)

markdown2 :: MdOrderedList :: defaultinit

fun delimiter: Char

markdown2 :: MdOrderedList :: delimiter

List number delimiter
protected fun delimiter=(delimiter: Char)

markdown2 :: MdOrderedList :: delimiter=

List number delimiter
fun first_child: nullable MdNode

markdown2 :: MdNode :: first_child

First child
fun first_child=(first_child: nullable MdNode)

markdown2 :: MdNode :: first_child=

First child
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun insert_after(sibling: MdNode)

markdown2 :: MdNode :: insert_after

Insert sibling after self.
fun insert_before(sibling: MdNode)

markdown2 :: MdNode :: insert_before

Insert sibling before self.
fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
fun is_container: Bool

markdown2 :: MdBlock :: is_container

Can this block contain other blocks?
protected fun is_container=(is_container: Bool)

markdown2 :: MdBlock :: is_container=

Can this block contain other blocks?
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun is_tight: Bool

markdown2 :: MdListBlock :: is_tight

Does this list contains line breaks?
fun is_tight=(is_tight: Bool)

markdown2 :: MdListBlock :: is_tight=

Does this list contains line breaks?
fun last_child: nullable MdNode

markdown2 :: MdNode :: last_child

Last child
fun last_child=(last_child: nullable MdNode)

markdown2 :: MdNode :: last_child=

Last child
fun location: MdLocation

markdown2 :: MdNode :: location

Node location in original markdown
protected fun location=(location: MdLocation)

markdown2 :: MdNode :: location=

Node location in original markdown
fun nesting_level: String

markdown2 :: MdOrderedList :: nesting_level

Depth of ordered list
fun next: nullable MdNode

markdown2 :: MdNode :: next

Next node
fun next=(next: nullable MdNode)

markdown2 :: MdNode :: next=

Next node
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun parent: nullable MdNode

markdown2 :: MdNode :: parent

Node parent
fun parent=(parent: nullable MdNode)

markdown2 :: MdNode :: parent=

Node parent
fun post_process(v: MdPostProcessor)

markdown2 :: MdNode :: post_process

Accept the visit of a MdPostProcessor
fun prepend_child(child: MdNode)

markdown2 :: MdNode :: prepend_child

Prepend a child to self
fun prev: nullable MdNode

markdown2 :: MdNode :: prev

Previous node
fun prev=(prev: nullable MdNode)

markdown2 :: MdNode :: prev=

Previous node
fun raw_text: String

markdown2 :: MdNode :: raw_text

Return self as raw text
fun render_html(v: HtmlRenderer)

markdown2 :: MdNode :: render_html

Render self as HTML
fun render_latex(v: LatexRenderer)

markdown2 :: MdNode :: render_latex

Render self as HTML
fun render_man(v: ManRenderer)

markdown2 :: MdNode :: render_man

Render self as Manpage format
fun render_md(v: MarkdownRenderer)

markdown2 :: MdNode :: render_md

Render self as Markdown
fun render_raw_text(v: RawTextVisitor)

markdown2 :: MdNode :: render_raw_text

Render self as raw text
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
fun start_number: Int

markdown2 :: MdOrderedList :: start_number

List starting number
protected fun start_number=(start_number: Int)

markdown2 :: MdOrderedList :: start_number=

List starting number
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun to_s_attrs: String

markdown2 :: MdNode :: to_s_attrs

Returns self attributes as a String
fun visit_all(v: MdVisitor)

markdown2 :: MdNode :: visit_all

Visit all children or self
package_diagram markdown2::MdOrderedList MdOrderedList markdown2::MdListBlock MdListBlock markdown2::MdOrderedList->markdown2::MdListBlock markdown2::MdBlock MdBlock markdown2::MdListBlock->markdown2::MdBlock ...markdown2::MdBlock ... ...markdown2::MdBlock->markdown2::MdBlock

Ancestors

abstract class MdBlock

markdown2 :: MdBlock

An abstract markdown block
abstract class MdNode

markdown2 :: MdNode

An abstract node
interface Object

core :: Object

The root of the class hierarchy.

Parents

abstract class MdListBlock

markdown2 :: MdListBlock

An ordered or unordered list block

Class definitions

markdown2 $ MdOrderedList
# An ordered list block
class MdOrderedList
	super MdListBlock

	# List starting number
	var start_number: Int

	# List number delimiter
	var delimiter: Char

	redef fun to_s_attrs do return "{super}, start_number={start_number}, delimiter={delimiter}"
end
lib/markdown2/markdown_ast.nit:311,1--322,3

markdown2 :: markdown_html_rendering $ MdOrderedList
redef class MdOrderedList
	redef fun render_html(v) do
		var start = self.start_number
		v.add_line
		v.add_raw "<ol"
		if start != 1 then
			v.add_raw " start=\"{start}\""
		end
		v.add_raw ">"
		v.add_line
		visit_all(v)
		v.add_line
		v.add_raw "</ol>"
		v.add_line
	end
end
lib/markdown2/markdown_html_rendering.nit:268,1--283,3

markdown2 :: markdown_latex_rendering $ MdOrderedList
redef class MdOrderedList
	redef fun render_latex(v) do
		var start = self.start_number
		v.add_line
		v.add_indent
		v.add_raw "\\begin\{enumerate\}"
		v.indent += 2
		v.add_line
		if start != 1 then
			v.add_indent
			v.add_raw "\\setcounter\{enum{nesting_level}\}\{{start}\}"
			v.add_line
		end
		visit_all(v)
		v.indent -= 2
		v.add_line
		v.add_indent
		v.add_raw "\\end\{enumerate\}"
		v.add_line
	end

	# Depth of ordered list
	#
	# Used to compute the `setcounter` level.
	fun nesting_level: String do
		var nesting = 1

		var parent = self.parent
		while parent != null do
			if parent isa MdOrderedList then nesting += 1
			parent = parent.parent
		end

		if nesting <= 3 then
			return "i" * nesting
		end
		return "iv"
	end
end
lib/markdown2/markdown_latex_rendering.nit:225,1--263,3

markdown2 :: markdown_man_rendering $ MdOrderedList
redef class MdOrderedList
	redef fun render_man(v) do
		v.add ".RS"
		v.add_line

		var index = start_number
		var node = first_child
		while node != null do
			v.add ".IP \"{index}.\" 3"
			v.add_line
			v.enter_visit node
			v.add_line
			node = node.next
			index += 1
		end

		v.add ".RE"
		v.add_line
	end
end
lib/markdown2/markdown_man_rendering.nit:128,1--147,3

markdown2 :: markdown_md_rendering $ MdOrderedList
redef class MdOrderedList
	# Children numbering
	private var md_numbering: Int = start_number is lazy
end
lib/markdown2/markdown_md_rendering.nit:175,1--178,3