summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/mill/define/Ctx.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/src/mill/define/Ctx.scala b/core/src/mill/define/Ctx.scala
index 47035f71..1e85d8b3 100644
--- a/core/src/mill/define/Ctx.scala
+++ b/core/src/mill/define/Ctx.scala
@@ -30,6 +30,15 @@ case class BasePath(value: Path)
case class Segments(value: Segment*){
def ++(other: Seq[Segment]): Segments = Segments(value ++ other:_*)
def ++(other: Segments): Segments = Segments(value ++ other.value:_*)
+ def parts = value.toList match {
+ case Nil => Nil
+ case Segment.Label(head) :: rest =>
+ val stringSegments = rest.flatMap{
+ case Segment.Label(s) => Seq(s)
+ case Segment.Cross(vs) => vs.map(_.toString)
+ }
+ head +: stringSegments
+ }
def render = value.toList match {
case Nil => ""
case Segment.Label(head) :: rest =>