content class ${1:Class}(${2/(\S+\s*:)/val $1/g}) { override def hashCode = 0 ${2/(\S+)\s*:[^,]+(,?)/+ $1.##/g} override def equals(other: Any) = $1.unapply(this) == $1.unapply(other) override def canEqual(other: Any) = other.isInstanceOf[$1] } object $1 { def apply(${2:arguments}): $1 = new $1(${2/(\S+)\s*:[^,]+/$1/g}) def unapply(other: Any) = other match { case x: $1 => import x._ ; Some(${2/(\S+)\s*:[^,]+/$1/g}) case _ => None } } name case class scaffolding scope source.scala tabTrigger ccc uuid CC643A92-5A38-4998-AB95-041EAF15ECF9