diff --git a/main-command/src/main/scala/sbt/internal/server/Server.scala b/main-command/src/main/scala/sbt/internal/server/Server.scala index 0b8ee4b32..4fb8a7cb4 100644 --- a/main-command/src/main/scala/sbt/internal/server/Server.scala +++ b/main-command/src/main/scala/sbt/internal/server/Server.scala @@ -174,7 +174,7 @@ private[sbt] object Server { auth match { case _ if auth(ServerAuthentication.Token) => writeTokenfile() - PortFile(uri, Option(tokenfile.toString), Option(tokenfile.toURI.toString)) + PortFile(uri, Option(tokenfile.toString), Option(IO.toURI(tokenfile).toString)) case _ => PortFile(uri, None, None) } diff --git a/main/src/main/scala/sbt/internal/CommandExchange.scala b/main/src/main/scala/sbt/internal/CommandExchange.scala index 32175d256..39259ee28 100644 --- a/main/src/main/scala/sbt/internal/CommandExchange.scala +++ b/main/src/main/scala/sbt/internal/CommandExchange.scala @@ -28,7 +28,7 @@ import scala.concurrent.Await import scala.concurrent.duration.Duration import scala.util.{ Success, Failure } import sbt.io.syntax._ -import sbt.io.Hash +import sbt.io.{ Hash, IO } import sbt.internal.server._ import sbt.internal.langserver.{ LogMessageParams, MessageType } import sbt.internal.util.{ StringEvent, ObjectEvent, MainAppender } @@ -135,7 +135,7 @@ private[sbt] final class CommandExchange { case Some(_) => // do nothing case _ => val portfile = (new File(".")).getAbsoluteFile / "project" / "target" / "active.json" - val h = Hash.halfHashString(portfile.toURI.toString) + val h = Hash.halfHashString(IO.toURI(portfile).toString) val tokenfile = BuildPaths.getGlobalBase(s) / "server" / h / "token.json" val socketfile = BuildPaths.getGlobalBase(s) / "server" / h / "sock" val pipeName = "sbt-server-" + h diff --git a/main/src/main/scala/sbt/internal/server/Definition.scala b/main/src/main/scala/sbt/internal/server/Definition.scala index 4459861db..0c39d15cd 100644 --- a/main/src/main/scala/sbt/internal/server/Definition.scala +++ b/main/src/main/scala/sbt/internal/server/Definition.scala @@ -9,6 +9,7 @@ package sbt package internal package server +import sbt.io.IO import sbt.internal.inc.MixedAnalyzingCompiler import sbt.internal.langserver.ErrorCodes import sbt.util.Logger @@ -297,7 +298,7 @@ private[sbt] object Definition { textProcessor.markPosition(classFile, sym).collect { case (file, line, from, to) => import sbt.internal.langserver.{ Location, Position, Range } - Location(file.toURI.toURL.toString, + Location(IO.toURI(file).toString, Range(Position(line, from), Position(line, to))) } } diff --git a/main/src/main/scala/sbt/internal/server/LanguageServerReporter.scala b/main/src/main/scala/sbt/internal/server/LanguageServerReporter.scala index 90d947a3d..28551be7c 100644 --- a/main/src/main/scala/sbt/internal/server/LanguageServerReporter.scala +++ b/main/src/main/scala/sbt/internal/server/LanguageServerReporter.scala @@ -24,6 +24,7 @@ import sbt.internal.langserver.{ import sbt.internal.inc.JavaInterfaceUtil._ import scala.collection.mutable import scala.collection.JavaConverters._ +import sbt.io.IO /** * Defines a compiler reporter that uses event logging provided by a [[ManagedLogger]]. @@ -82,7 +83,7 @@ class LanguageServerReporter( import sbt.internal.langserver.codec.JsonProtocol._ val files = analysis.readSourceInfos.getAllSourceInfos.keySet.asScala files foreach { f => - val params = PublishDiagnosticsParams(f.toURI.toString, Vector()) + val params = PublishDiagnosticsParams(IO.toURI(f).toString, Vector()) exchange.notifyEvent("textDocument/publishDiagnostics", params) } } @@ -94,7 +95,7 @@ class LanguageServerReporter( problemsByFile.get(sourceFile) match { case Some(xs: List[Problem]) => val ds = toDiagnostics(xs) - val params = PublishDiagnosticsParams(sourceFile.toURI.toString, ds) + val params = PublishDiagnosticsParams(IO.toURI(sourceFile).toString, ds) exchange.notifyEvent("textDocument/publishDiagnostics", params) case _ => }