`Append` instance to add `File` to `Seq[Source]`

This commit is contained in:
Martin Duhem 2017-08-14 15:09:10 +02:00
parent ec54269467
commit 5815f1db0a
No known key found for this signature in database
GPG Key ID: CC9CE9656E10C555
1 changed files with 9 additions and 0 deletions

View File

@ -6,6 +6,8 @@ import scala.annotation.implicitNotFound
import sbt.internal.util.Attributed
import Def.Initialize
import reflect.internal.annotations.compileTimeOnly
import sbt.internal.io.Source
import sbt.io.{ AllPassFilter, NothingFilter }
object Append {
@implicitNotFound(
@ -96,4 +98,11 @@ object Append {
def appendValue(a: Seq[T], b: Option[T]): Seq[T] = b.fold(a)(a :+ _)
def appendValues(a: Seq[T], b: Option[T]): Seq[T] = b.fold(a)(a :+ _)
}
implicit def appendSource: Sequence[Seq[Source], Seq[File], File] =
new Sequence[Seq[Source], Seq[File], File] {
def appendValue(a: Seq[Source], b: File): Seq[Source] =
appendValues(a, Seq(b))
def appendValues(a: Seq[Source], b: Seq[File]): Seq[Source] =
a ++ b.map(new Source(_, AllPassFilter, NothingFilter))
}
}