diff options
Diffstat (limited to 'contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala')
-rw-r--r-- | contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala b/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala index b020b498..29a07f17 100644 --- a/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala +++ b/contrib/bsp/src/mill/contrib/bsp/TaskParameters.scala @@ -1,10 +1,15 @@ package mill.contrib.bsp -import java.util import scala.collection.JavaConverters._ -import scala.compat.java8.OptionConverters._ import ch.epfl.scala.bsp4j.{BuildTargetIdentifier, CompileParams, RunParams, TestParams} + +/** + * Common trait to represent BSP request parameters that + * have a specific form: include one or more targetIds, + * arguments for the execution of the task, and an optional + * origin id generated by the client. + */ trait Parameters { def getTargets: List[BuildTargetIdentifier] @@ -83,14 +88,33 @@ case class TParams(testParams: TestParams) extends Parameters { } object TaskParameters { + + /** + * Convert parameters specific to the compile request + * to the common trait Parameters. + * @param compileParams compile request parameters + * @return general task parameters containing compilation info + */ def fromCompileParams(compileParams: CompileParams): Parameters = { CParams(compileParams) } + /** + * Convert parameters specific to the run request + * to the common trait Parameters. + * @param runParams run request parameters + * @return general task parameters containing running info + */ def fromRunParams(runParams: RunParams): Parameters = { RParams(runParams) } + /** + * Convert parameters specific to the test request + * to the common trait Parameters. + * @param testParams compile request parameters + * @return general task parameters containing testing info + */ def fromTestParams(testParams: TestParams): Parameters = { TParams(testParams) } |