diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2017-03-14 14:28:43 +0100 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2017-03-14 14:28:44 +0100 |
commit | 330de0410ce5be5b54482bf00578771cf821af24 (patch) | |
tree | 329db30af452e4805a91f0b21d8a077c69a6ee4e /sbt-bridge | |
parent | e84d7791a2a96808afec252e8808efb31c8ea874 (diff) | |
download | dotty-330de0410ce5be5b54482bf00578771cf821af24.tar.gz dotty-330de0410ce5be5b54482bf00578771cf821af24.tar.bz2 dotty-330de0410ce5be5b54482bf00578771cf821af24.zip |
sbt-bridge: Fix lineContent, pointer, pointerSpace
These changes were done to imitate how these fields are set in
https://github.com/sbt/sbt/blob/0.13/compile/interface/src/main/scala/xsbt/DelegatingReporter.scala
The main issue this fixes is sbt displaying the ^ pointer way too far,
because the number of spaces was set from the beginning of the file
instead of the beginning of the line.
Diffstat (limited to 'sbt-bridge')
-rw-r--r-- | sbt-bridge/src/xsbt/DelegatingReporter.scala | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sbt-bridge/src/xsbt/DelegatingReporter.scala b/sbt-bridge/src/xsbt/DelegatingReporter.scala index 4d6462550..e637ddcf3 100644 --- a/sbt-bridge/src/xsbt/DelegatingReporter.scala +++ b/sbt-bridge/src/xsbt/DelegatingReporter.scala @@ -35,10 +35,12 @@ final class DelegatingReporter(delegate: xsbti.Reporter) extends Reporter val sourceFile: Maybe[java.io.File] = maybe(Option(src.file.file)) val sourcePath: Maybe[String] = maybe(Option(src.file.path)) val line: Maybe[Integer] = Maybe.just(pos.line) - val lineContent: String = pos.lineContent + val lineContent: String = pos.lineContent.stripLineEnd val offset: Maybe[Integer] = Maybe.just(pos.point) - val pointer: Maybe[Integer] = Maybe.just(pos.point) - val pointerSpace: Maybe[String] = Maybe.just(" " * pos.point) + val pointer: Maybe[Integer] = Maybe.just(pos.point - src.startOfLine(pos.point)) + val pointerSpace: Maybe[String] = Maybe.just( + ((lineContent: Seq[Char]).take(pointer.get).map { case '\t' => '\t'; case x => ' ' }).mkString + ) } } else noPosition |