diff --git a/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala b/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala index e79e2ec2d92..59f2cf0fd7f 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala @@ -21,7 +21,6 @@ import scala.meta.internal.metals.TaskProgress import scala.meta.internal.metals.Time import scala.meta.internal.metals.Timer import scala.meta.internal.metals.WorkDoneProgress -import scala.meta.internal.tvp._ import scala.meta.io.AbsolutePath import ch.epfl.scala.{bsp4j => b} @@ -72,7 +71,7 @@ final class ForwardingMetalsBuildClient( val timer: Timer, token: Future[WorkDoneProgress.Token], taskProgress: TaskProgress = TaskProgress.empty, - ) extends TreeViewCompilation { + ) { def progressPercentage = taskProgress.percentage @@ -274,12 +273,4 @@ final class ForwardingMetalsBuildClient( case _ => } } - - def ongoingCompilations(): TreeViewCompilations = - new TreeViewCompilations { - override def get(id: b.BuildTargetIdentifier) = compilations.get(id) - override def isEmpty = compilations.isEmpty - override def size = compilations.size - override def buildTargets = compilations.keysIterator - } } diff --git a/metals/src/main/scala/scala/meta/internal/metals/MetalsBuildClient.scala b/metals/src/main/scala/scala/meta/internal/metals/MetalsBuildClient.scala index 6248ddc1d2a..b23938276da 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/MetalsBuildClient.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/MetalsBuildClient.scala @@ -1,6 +1,5 @@ package scala.meta.internal.metals -import scala.meta.internal.tvp.TreeViewCompilations import scala.meta.io.AbsolutePath import ch.epfl.scala.{bsp4j => b} @@ -31,8 +30,6 @@ trait MetalsBuildClient { @JsonNotification("buildTarget/compileReport") def onBuildTargetCompileReport(params: b.CompileReport): Unit - def ongoingCompilations(): TreeViewCompilations - def buildHasErrors(buildTargetId: b.BuildTargetIdentifier): Boolean def buildHasErrors(file: AbsolutePath): Boolean diff --git a/metals/src/main/scala/scala/meta/internal/metals/MetalsLspService.scala b/metals/src/main/scala/scala/meta/internal/metals/MetalsLspService.scala index 665557b2069..37b2c93b331 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/MetalsLspService.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/MetalsLspService.scala @@ -818,7 +818,6 @@ class MetalsLspService( new FolderTreeViewProvider( new Folder(folder, folderVisibleName, true), buildTargets, - () => buildClient.ongoingCompilations(), definitionIndex, () => userConfig, scalaVersionSelector, diff --git a/metals/src/main/scala/scala/meta/internal/metals/WorkspaceLspService.scala b/metals/src/main/scala/scala/meta/internal/metals/WorkspaceLspService.scala index e0c1772275f..e9ae6b87670 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/WorkspaceLspService.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/WorkspaceLspService.scala @@ -228,7 +228,6 @@ class WorkspaceLspService( new MetalsTreeViewProvider( () => folderServices.map(_.treeView), languageClient, - sh, ) } else NoopTreeViewProvider diff --git a/metals/src/main/scala/scala/meta/internal/tvp/MetalsTreeViewProvider.scala b/metals/src/main/scala/scala/meta/internal/tvp/MetalsTreeViewProvider.scala index c4ee8563508..7ffb0429971 100644 --- a/metals/src/main/scala/scala/meta/internal/tvp/MetalsTreeViewProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/tvp/MetalsTreeViewProvider.scala @@ -1,10 +1,7 @@ package scala.meta.internal.tvp import java.nio.file.Paths -import java.util.concurrent.ScheduledExecutorService import java.util.concurrent.ScheduledFuture -import java.util.concurrent.TimeUnit -import java.util.concurrent.atomic.AtomicBoolean import scala.collection.concurrent.TrieMap @@ -29,7 +26,6 @@ import org.eclipse.{lsp4j => l} class MetalsTreeViewProvider( getFolderTreeViewProviders: () => List[FolderTreeViewProvider], languageClient: MetalsLanguageClient, - sh: ScheduledExecutorService, )(implicit rc: ReportContext) extends TreeViewProvider { private val ticks = @@ -41,7 +37,6 @@ class MetalsTreeViewProvider( Array( TreeViewNode.empty(Project), TreeViewNode.empty(Build), - TreeViewNode.empty(Compile), ) ) ) @@ -119,11 +114,6 @@ class MetalsTreeViewProvider( case _ => Array() } - case Compile => - folderTreeViewProviders - .map(_.getOngoingCompilations(Option(params.nodeUri))) - .flatten - .toArray case _ => Array.empty } MetalsTreeViewChildrenResult(children) @@ -207,22 +197,6 @@ class MetalsTreeViewProvider( } if (params.visible) { params.viewId match { - case TreeViewProvider.Compile => - ticks(params.viewId) = sh.scheduleAtFixedRate( - () => { - val all = trees.map(_.tickBuildTreeView()).collect { - case Some(value) => value - } - if (all.nonEmpty) { - languageClient.metalsTreeViewDidChange( - TreeViewDidChangeParams(all.flatten.toArray) - ) - } - }, - 1, - 1, - TimeUnit.SECONDS, - ) case TreeViewProvider.Project => val toUpdate = trees.map(_.flushPendingProjectUpdates).collect { case Some(value) => value @@ -244,7 +218,6 @@ class MetalsTreeViewProvider( class FolderTreeViewProvider( folder: Folder, buildTargets: BuildTargets, - compilations: () => TreeViewCompilations, definitionIndex: GlobalSymbolIndex, userConfig: () => UserConfiguration, scalaVersionSelector: ScalaVersionSelector, @@ -386,18 +359,6 @@ class FolderTreeViewProvider( None } - def getOngoingCompilations(nodeUri: Option[String]): Array[TreeViewNode] = - nodeUri match { - case None => - ongoingCompilations - case Some(uri) => - if (uri == ongoingCompilationNode.nodeUri) { - ongoingCompilations - } else { - ongoingCompileNode(new BuildTargetIdentifier(uri)).toArray - } - } - def getProjectRoot( nodeUri: Option[String], showFolderName: Boolean, @@ -451,48 +412,6 @@ class FolderTreeViewProvider( } } - private def ongoingCompilations: Array[TreeViewNode] = { - compilations().buildTargets.flatMap(ongoingCompileNode).toArray - } - - private def ongoingCompileNode( - id: BuildTargetIdentifier - ): Option[TreeViewNode] = { - for { - compilation <- compilations().get(id) - info <- buildTargets.info(id) - } yield TreeViewNode( - TreeViewProvider.Compile, - id.getUri, - s"${info.getName()} - ${compilation.timer.toStringSeconds} (${compilation.progressPercentage}%)", - icon = "compile", - ) - } - - private def ongoingCompilationNode: TreeViewNode = { - TreeViewNode( - TreeViewProvider.Compile, - null, - TreeViewProvider.Compile, - ) - } - - private def toplevelTreeNodes: Array[TreeViewNode] = - Array(ongoingCompilationNode) - - private val wasEmpty = new AtomicBoolean(true) - private val isEmpty = new AtomicBoolean(true) - def tickBuildTreeView(): Option[Array[TreeViewNode]] = { - isEmpty.set(compilations().isEmpty) - val result = if (wasEmpty.get() && isEmpty.get()) { - None // Nothing changed since the last notification. - } else { - Some(toplevelTreeNodes) - } - wasEmpty.set(isEmpty.get()) - result - } - def reset(): Unit = { classpath.reset() } diff --git a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewCompilation.scala b/metals/src/main/scala/scala/meta/internal/tvp/TreeViewCompilation.scala deleted file mode 100644 index 7d22198fb0b..00000000000 --- a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewCompilation.scala +++ /dev/null @@ -1,11 +0,0 @@ -package scala.meta.internal.tvp - -import scala.meta.internal.metals.Timer - -/** - * The progress report of the compilation of a single build target to display in a tree view - */ -trait TreeViewCompilation { - def timer: Timer - def progressPercentage: Int -} diff --git a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewCompilations.scala b/metals/src/main/scala/scala/meta/internal/tvp/TreeViewCompilations.scala deleted file mode 100644 index 827f17912f0..00000000000 --- a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewCompilations.scala +++ /dev/null @@ -1,12 +0,0 @@ -package scala.meta.internal.tvp -import ch.epfl.scala.bsp4j.BuildTargetIdentifier - -/** - * All the ongoing compilations for all build targets in this workspace - */ -trait TreeViewCompilations { - def isEmpty: Boolean - def size: Int - def buildTargets: Iterator[BuildTargetIdentifier] - def get(id: BuildTargetIdentifier): Option[TreeViewCompilation] -} diff --git a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewProvider.scala b/metals/src/main/scala/scala/meta/internal/tvp/TreeViewProvider.scala index 36b7add98e2..6f2e3976037 100644 --- a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/tvp/TreeViewProvider.scala @@ -8,7 +8,6 @@ trait TreeViewProvider { val Project = TreeViewProvider.Project val Build = TreeViewProvider.Build val Help = TreeViewProvider.Help - val Compile = TreeViewProvider.Compile def init(): Unit = () def reset(): Unit = () def children( @@ -32,6 +31,5 @@ trait TreeViewProvider { object TreeViewProvider { val Project = "metalsPackages" val Build = "metalsBuild" - val Compile = "metalsCompile" val Help = "metalsHelp" } diff --git a/tests/unit/src/test/scala/tests/TreeViewLspSuite.scala b/tests/unit/src/test/scala/tests/TreeViewLspSuite.scala index e1646235568..994631ee87e 100644 --- a/tests/unit/src/test/scala/tests/TreeViewLspSuite.scala +++ b/tests/unit/src/test/scala/tests/TreeViewLspSuite.scala @@ -115,7 +115,6 @@ class TreeViewLspSuite extends BaseLspSuite("tree-view") { client.workspaceTreeViewChanges, s"""|${TreeViewProvider.Project} |${TreeViewProvider.Build} - |${TreeViewProvider.Compile} |""".stripMargin, ) _ <- server.didOpen("a/src/main/scala/a/Zero.scala")