namespace Lua.CodeAnalysis.Syntax;

internal static class Keywords
{
    public const string LF = "\n";

    public const string LParen = "(";
    public const string RParen = ")";
    public const string LCurly = "{";
    public const string RCurly = "}";
    public const string LSquare = "[";
    public const string RSquare = "]";

    public const string Assignment = "=";

    public const string Nil = "nil";
    public const string True = "true";
    public const string False = "false";

    public const string Addition = "+";
    public const string Subtraction = "-";
    public const string Multiplication = "*";
    public const string Division = "/";
    public const string Modulo = "%";
    public const string Exponentiation = "^";

    public const string Length = "#";
    public const string Concat = "..";

    public const string Equality = "==";
    public const string Inequality = "~=";
    public const string GreaterThan = ">";
    public const string GreaterThanOrEqual = ">=";
    public const string LessThan = "<";
    public const string LessThanOrEqual = "<=";

    public const string And = "and";
    public const string Or = "or";
    public const string Not = "not";

    public const string Do = "do";
    public const string End = "end";
    public const string Then = "then";

    public const string If = "if";
    public const string ElseIf = "elseif";
    public const string Else = "else";

    public const string Return = "return";
    public const string Break = "break";
    public const string Goto = "goto";

    public const string For = "for";
    public const string In = "in";
    public const string While = "while";
    public const string Repeat = "repeat";
    public const string Until = "until";

    public const string Function = "function";
    public const string Local = "local";
}