29 lines
757 B
C#
29 lines
757 B
C#
using Inspectron.Epson.Templates.Language;
|
|
|
|
namespace Inspectron.Epson.Templates.Validation;
|
|
|
|
public enum TemplateErrorCode
|
|
{
|
|
// Syntax errors (RTL001-RTL010)
|
|
RTL001_UnexpectedToken = 1,
|
|
RTL002_UnclosedBlock = 2,
|
|
RTL003_InvalidDirective = 3,
|
|
RTL004_InvalidBinding = 4,
|
|
RTL005_InvalidForeachSyntax = 5,
|
|
RTL006_InvalidCondition = 6,
|
|
RTL007_UnclosedStyleBlock = 7,
|
|
RTL008_InvalidColumnSpec = 8,
|
|
RTL009_InvalidSeparator = 9,
|
|
RTL010_UnexpectedEndOfFile = 10
|
|
}
|
|
|
|
public record TemplateError(
|
|
TemplateErrorCode Code,
|
|
string Message,
|
|
SourcePosition Position)
|
|
{
|
|
public string CodeString => Code.ToString().Split('_')[0];
|
|
|
|
public override string ToString() => $"{CodeString}: {Message} at {Position}";
|
|
}
|