summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandra Dima <alexandra.dima@jetbrains.com>2019-07-17 10:58:31 +0200
committerSamvel Abrahamyan <samvel1024@gmail.com>2019-10-12 14:33:05 +0200
commit4fe042ea883af0a93b90bc7f00bfd55d05a44465 (patch)
treec059074da3160b66878c68f0c2f93fd2c525c6fe
parent115a7dd7e90c056f174f6e29d0f4a8baef2f89e3 (diff)
downloadmill-4fe042ea883af0a93b90bc7f00bfd55d05a44465.tar.gz
mill-4fe042ea883af0a93b90bc7f00bfd55d05a44465.tar.bz2
mill-4fe042ea883af0a93b90bc7f00bfd55d05a44465.zip
Imporved the way a target's display name is computed.
-rw-r--r--contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala14
1 files changed, 11 insertions, 3 deletions
diff --git a/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala b/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala
index 54137d25..2ce3cb91 100644
--- a/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala
+++ b/contrib/bsp/src/mill/contrib/bsp/ModuleUtils.scala
@@ -6,13 +6,13 @@ import scala.collection.JavaConverters._
import ch.epfl.scala.bsp4j._
import mill.api.Result.Success
import mill.api.{Loose, Strict}
-import mill.define.{Discover, Task}
+import mill.define.{Discover, Segment, Segments, Task}
import mill.eval._
import mill.eval.Evaluator
import mill.scalajslib.ScalaJSModule
import mill.scalalib.api.Util
import mill.scalanativelib._
-import mill.scalalib.{JavaModule, ScalaModule, TestModule}
+import mill.scalalib.{GenIdea, GenIdeaImpl, JavaModule, ScalaModule, TestModule}
import mill.util.DummyLogger
@@ -55,7 +55,7 @@ object ModuleUtils {
buildTarget.setDataKind("scala")
}
buildTarget.setData(dataBuildTarget)
- buildTarget.setDisplayName(module.millModuleSegments.last.value.toList.head.pathSegments.head)
+ buildTarget.setDisplayName(moduleName(module.millModuleSegments))
buildTarget.setBaseDirectory(module.intellijModulePath.toNIO.toAbsolutePath.toUri.toString)
moduleToTarget ++= Map(module -> buildTarget)
}
@@ -131,4 +131,12 @@ object ModuleUtils {
moduleToTarget
}
+
+ // this is taken from mill.scalalib GenIdeaImpl
+ def moduleName(p: Segments) = p.value.foldLeft(StringBuilder.newBuilder) {
+ case (sb, Segment.Label(s)) if sb.isEmpty => sb.append(s)
+ case (sb, Segment.Cross(s)) if sb.isEmpty => sb.append(s.mkString("-"))
+ case (sb, Segment.Label(s)) => sb.append(".").append(s)
+ case (sb, Segment.Cross(s)) => sb.append("-").append(s.mkString("-"))
+ }.mkString.toLowerCase()
}