2017-05-12 4 views
1

Ich bin ein String-Kontext Makro, der Compiler Fehlermeldungen setzen Schreiben des^in der Art und Weise könnte man erwarten:die^Position zu einer beliebigen Spalte Einstellung

Im Makro: c.abort(c.enclosingPosition, errMsg)

Console Ausgabe:

foo"stuff stuff BROKEN stuff" ^

ich würde den kleinen Hut mag^an einen bestimmten Ort innerhalb der Zeichenfolge zeigen, sagen:

foo"stuff stuff BROKEN stuff" ^

die verschiedenen Möglichkeiten, die Durchsicht Position API zu verwenden, kann ich leicht eine Position von einem bestehenden Baum liefern, aber ich kann nicht einen Weg finden, eine beliebige Position in einem Baum, wie eine Zeichenfolge gesetzt wörtliche . Gibt es einen Weg, dies zu tun?

Antwort

2

Wenn Sie die Tree und einen Versatz haben, können Sie withPoint verwenden die neue neue Position

tree.pos.withPoint(tree.pos.start + offset) 
zu berechnen
Verwandte Themen