将 ^ 位置设置为任意列

Setting the ^ Position to an arbitrary column

我正在编写一个字符串上下文宏,其编译器错误消息以您可能期望的方式放置 ^:

在宏中: c.abort(c.enclosingPosition, errMsg)

控制台输出:

foo"stuff stuff BROKEN stuff" ^

我希望小帽子 ^ 指向字符串中的特定位置,例如:

foo"stuff stuff BROKEN stuff" ^

仔细阅读使用 Position 的各种方法 API,我可以很容易地从一些现有的树中提供一个 Position,但是我找不到在树中设置任意位置的方法,例如字符串字面量。有什么办法可以做到这一点?

如果你有Tree和一个偏移量,你可以用withPoint来计算新的Position

tree.pos.withPoint(tree.pos.start + offset)