namespace AIStudio.Tools.CodeHighlighting;
///
/// How a language writes one kind of string, such as one in double quotation marks.
///
/// What opens the string, for example a quotation mark or three of them.
/// What closes it.
/// The character which makes the next one a part of the string, even when it would
/// close the string, or null when the string knows no escapes.
/// Whether the string may run over several lines. Otherwise, it ends with its
/// line, closed or not.
/// Whether the closing mark written twice stands for itself, as two
/// apostrophes do within a string of SQL.
public sealed record CodeStringRule(string Open, string Close, char? Escape = '\\', bool IsMultiline = false, bool DoubledCloseIsLiteral = false);