Skip to content

Instantly share code, notes, and snippets.

sealed trait Element
case class Tag(name: String, attr: String) extends Element
case class Header(text: String) extends Element
case class Plain(text: String) extends Element
import scala.util.parsing.combinator._
object parse extends RegexParsers {
override def skipWhitespace = false
def tag: Parser[Tag] = ("<" ~> "\\S+".r <~ "\\s".r) ~ "[^\\s>]+".r <~ ">" ^^ {