From a209cf2700b048f414090c996322acba3276fc32 Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Wed, 14 Jun 2023 10:35:54 +0200 Subject: [PATCH] Fix #7297: Convert OffsetPosition to BSP range --- .../scala/sbt/internal/server/BuildServerReporter.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala b/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala index 5ed82ff1d..9d314a5eb 100644 --- a/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala +++ b/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala @@ -185,11 +185,15 @@ final class BuildServerReporterImpl( val startColumnOpt = pos.startColumn.toOption.map(_.toLong) val endLineOpt = pos.endLine.toOption.map(_.toLong - 1) val endColumnOpt = pos.endColumn.toOption.map(_.toLong) + val lineOpt = pos.line.toOption.map(_.toLong - 1) + val columnOpt = pos.pointer.toOption.map(_.toLong) def toPosition(lineOpt: Option[Long], columnOpt: Option[Long]): Option[Position] = lineOpt.map(line => Position(line, columnOpt.getOrElse(0L))) - val startPos = toPosition(startLineOpt, startColumnOpt).getOrElse(Position(0L, 0L)) + val startPos = toPosition(startLineOpt, startColumnOpt) + .orElse(toPosition(lineOpt, columnOpt)) + .getOrElse(Position(0L, 0L)) val endPosOpt = toPosition(endLineOpt, endColumnOpt) Range(startPos, endPosOpt.getOrElse(startPos)) }