const Space = enum
const Space = enum {
/// Output the token lexeme only.
none,
/// Output the token lexeme followed by a single space.
space,
/// Output the token lexeme followed by a newline.
newline,
/// If the next token is a comma, render it as well. If not, insert one.
/// In either case, a newline will be inserted afterwards.
comma,
/// Additionally consume the next token if it is a comma.
/// In either case, a space will be inserted afterwards.
comma_space,
/// Additionally consume the next token if it is a semicolon.
/// In either case, a newline will be inserted afterwards.
semicolon,
/// If the next token is not a multiline string literal, this acts as .space,
/// otherwise this acts as .none.
maybe_space,
/// Additionally consume the next token if it is a comma.
/// In either case, a space will be inserted afterwards
/// if the following token is not a multiline string literal.
comma_maybe_space,
/// Skip rendering whitespace and comments. If this is used, the caller
/// *must* handle whitespace and comments manually.
skip,
}