From 57665a06df11818e432928c93ea4b7492d6215c8 Mon Sep 17 00:00:00 2001 From: Jamie Thompson Date: Mon, 14 Oct 2024 18:57:36 +0200 Subject: [PATCH] correct post-splice shift ZincWorkerImpl's reporter --- .../src/mill/scalalib/worker/ZincWorkerImpl.scala | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala b/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala index ee92478fa37..ecb22891e44 100644 --- a/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala +++ b/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala @@ -735,11 +735,16 @@ object ZincWorkerImpl { val splicedMarkerStartLine = lines.indexWhere(_.startsWith(splicedCodeStartMarker)) val splicedMarkerLine = lines.indexWhere(_.startsWith(splicedCodeEndMarker)) val existsSplicedMarker = splicedMarkerStartLine >= 0 && splicedMarkerLine >= 0 - val splicedMarkerLineDiff = markerLine + (splicedMarkerLine - splicedMarkerStartLine + 1) + 1 + val splicedMarkerLineDiff = markerLine + (splicedMarkerLine - splicedMarkerStartLine + 1) val topWrapperLen = lines.take(markerLine + 1).map(_.length).sum - val splicedMarkerLen = - if existsSplicedMarker then lines.take(splicedMarkerLine + 1).map(_.length).sum + val (splicedMarkerStartLen, splicedMarkerLen) = + if existsSplicedMarker then + lines.take(splicedMarkerStartLine + 1).map(_.length).sum + -> lines.take(splicedMarkerLine + 1).map(_.length).sum + else (-1, -1) + val splicedMarkerDiff = + if existsSplicedMarker then topWrapperLen + (splicedMarkerStartLen - splicedMarkerLen + 1) else -1 val originPath = Some(adjustedFile) @@ -766,7 +771,7 @@ object ZincWorkerImpl { val (baseLine, baseOffset) = if postSplice(startOffset) || postSplice(offset) then - (splicedMarkerLineDiff, splicedMarkerLen) + (splicedMarkerLineDiff, splicedMarkerDiff) else (markerLine, topWrapperLen)