Show full lines in error messages in Ycicle
This commit is contained in:
@@ -93,6 +93,13 @@ namespace Upsilon
|
||||
return $"({linePos.Line},{linePos.Pos})";
|
||||
}
|
||||
|
||||
public string LineBeforeError()
|
||||
{
|
||||
var linePos = Diagnostics.ScriptString.GetLinePosition(Span.Start);
|
||||
var lineIndex = Diagnostics.ScriptString.GetLineStartPos(linePos.Line);
|
||||
return Diagnostics.ScriptString.GetSpan(lineIndex, linePos.Pos);
|
||||
}
|
||||
|
||||
public string BeforeError(int i = 5)
|
||||
{
|
||||
return Diagnostics.ScriptString.GetSpan(Span.Start - i, i);
|
||||
@@ -103,6 +110,14 @@ namespace Upsilon
|
||||
return Diagnostics.ScriptString.GetSpan(Span);
|
||||
}
|
||||
|
||||
public string LineAfterError()
|
||||
{
|
||||
var linePos = Diagnostics.ScriptString.GetLinePosition(Span.Start);
|
||||
var lineInfo = Diagnostics.ScriptString.GetLineInfo(linePos.Line);
|
||||
|
||||
return Diagnostics.ScriptString.GetSpan(Span.End, lineInfo.End - Span.End);
|
||||
}
|
||||
|
||||
public string AfterError(int i = 5)
|
||||
{
|
||||
return Diagnostics.ScriptString.GetSpan(Span.Start + Span.Length, i);
|
||||
|
||||
Reference in New Issue
Block a user