summaryrefslogtreecommitdiff
path: root/main/core/src/mill/util/JsonFormatters.scala
diff options
context:
space:
mode:
Diffstat (limited to 'main/core/src/mill/util/JsonFormatters.scala')
-rw-r--r--main/core/src/mill/util/JsonFormatters.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/main/core/src/mill/util/JsonFormatters.scala b/main/core/src/mill/util/JsonFormatters.scala
index f92941f7..2728d94d 100644
--- a/main/core/src/mill/util/JsonFormatters.scala
+++ b/main/core/src/mill/util/JsonFormatters.scala
@@ -3,6 +3,7 @@ package mill.util
import ammonite.ops.{Bytes, Path}
import upickle.Js
import upickle.default.{ReadWriter => RW}
+import scala.util.matching.Regex
object JsonFormatters extends JsonFormatters
trait JsonFormatters {
implicit val pathReadWrite: RW[ammonite.ops.Path] = upickle.default.readwriter[String]
@@ -11,6 +12,12 @@ trait JsonFormatters {
Path(_)
)
+ implicit val regexReadWrite: RW[Regex] = upickle.default.readwriter[String]
+ .bimap[Regex](
+ _.pattern.toString,
+ _.r
+ )
+
implicit val bytesReadWrite: RW[Bytes] = upickle.default.readwriter[String]
.bimap(
o => javax.xml.bind.DatatypeConverter.printBase64Binary(o.array),