diff options
author | Alexandra Dima <alexandra.dima@jetbrains.com> | 2019-07-17 10:58:31 +0200 |
---|---|---|
committer | Samvel Abrahamyan <samvel1024@gmail.com> | 2019-10-12 14:33:05 +0200 |
commit | 4fe042ea883af0a93b90bc7f00bfd55d05a44465 (patch) | |
tree | c059074da3160b66878c68f0c2f93fd2c525c6fe | |
parent | 115a7dd7e90c056f174f6e29d0f4a8baef2f89e3 (diff) | |
download | mill-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.scala | 14 |
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() } |