using System;
using YesNt.Interpreter.Enums;
namespace YesNt.Interpreter.Runtime;
///
/// A read-only snapshot of a registered statement's metadata, used for tooling such as
/// syntax highlighters. Instances are obtained from .
///
public class StatementInformation
{
/// Gets the keyword that identifies this statement in source code.
public string Name { get; internal set; }
/// Gets where in the line the keyword is searched for.
public SearchMode SearchMode { get; internal set; }
/// Gets which sides of the keyword must be padded with a space.
public SpaceAround SpaceAround { get; internal set; }
/// Gets the syntax-highlight color for this statement.
public ConsoleColor Color { get; internal set; }
///
/// Gets a value indicating whether this statement is excluded from syntax highlighting.
///
public bool IgnoreSyntaxHighlighting { get; internal set; }
///
/// Gets the optional sub-string that must be present in the line for this statement to match,
/// or if no separator is required.
///
public string Separator { get; set; }
}