equal
deleted
inserted
replaced
49 rev_markup: List[XML.Elem], |
49 rev_markup: List[XML.Elem], |
50 subtree: Markup_Tree) |
50 subtree: Markup_Tree) |
51 { |
51 { |
52 def markup: List[XML.Elem] = rev_markup.reverse |
52 def markup: List[XML.Elem] = rev_markup.reverse |
53 |
53 |
54 def filter_markup(pred: String => Boolean): List[XML.Elem] = |
54 def filter_markup(elements: Document.Elements): List[XML.Elem] = |
55 { |
55 { |
56 var result: List[XML.Elem] = Nil |
56 var result: List[XML.Elem] = Nil |
57 for { elem <- rev_markup; if (pred(elem.name)) } |
57 for { elem <- rev_markup; if (elements(elem.name)) } |
58 result ::= elem |
58 result ::= elem |
59 result.toList |
59 result.toList |
60 } |
60 } |
61 |
61 |
62 def + (markup: Text.Markup): Entry = copy(rev_markup = markup.info :: rev_markup) |
62 def + (markup: Text.Markup): Entry = copy(rev_markup = markup.info :: rev_markup) |
192 } |
192 } |
193 |
193 |
194 def to_XML(text: CharSequence): XML.Body = |
194 def to_XML(text: CharSequence): XML.Body = |
195 to_XML(Text.Range(0, text.length), text, (_: XML.Elem) => true) |
195 to_XML(Text.Range(0, text.length), text, (_: XML.Elem) => true) |
196 |
196 |
197 def cumulate[A](root_range: Text.Range, root_info: A, elements: String => Boolean, |
197 def cumulate[A](root_range: Text.Range, root_info: A, elements: Document.Elements, |
198 result: (A, Text.Markup) => Option[A]): List[Text.Info[A]] = |
198 result: (A, Text.Markup) => Option[A]): List[Text.Info[A]] = |
199 { |
199 { |
200 def results(x: A, entry: Entry): Option[A] = |
200 def results(x: A, entry: Entry): Option[A] = |
201 { |
201 { |
202 var y = x |
202 var y = x |