kind_spelling

func kind_spelling(kind: TokenKind) -> String

The user-facing spelling of a kind (the reference TokenKind::as_str): literal spellings verbatim, token classes as placeholders.

View Source
pub func kind_spelling(kind: TokenKind) -> String {
	match kind {
		.identifier -> "<ident>",
		.int_number -> "<int>",
		.float_number -> "<float>",
		.string_literal -> "\"<string>\"",
		.character_literal -> "'<character>'",
		.keyword_let -> "let",
		.keyword_true -> "true",
		.keyword_false -> "false",
		.equals -> "=",
		.comma -> ",",
		.dot -> ".",
		.dot_dot -> "..",
		.dot_dot_dot -> "...",
		.dot_dot_less -> "..<",
		.left_paren -> "(",
		.right_paren -> ")",
		.left_bracket -> "[",
		.right_bracket -> "]",
		.left_brace -> "{",
		.right_brace -> "}",
		.newline -> "\n",
		.underscore -> "_",
		.keyword_any -> "any",
		.keyword_as -> "as",
		.keyword_func -> "func",
		.keyword_if -> "if",
		.keyword_else -> "else",
		.keyword_loop -> "loop",
		.keyword_enum -> "enum",
		.keyword_case -> "case",
		.keyword_match -> "match",
		.keyword_return -> "return",
		.keyword_struct -> "struct",
		.keyword_extend -> "extend",
		.keyword_break -> "break",
		.keyword_init -> "init",
		.keyword_protocol -> "protocol",
		.keyword_import -> "import",
		.keyword_use -> "use",
		.keyword_pub -> "pub",
		.keyword_public -> "public",
		.keyword_linear -> "linear",
		.keyword_macro -> "macro",
		.keyword_static -> "static",
		.keyword_associated -> "associated",
		.keyword_typealias -> "typealias",
		.keyword_effect -> "effect",
		.keyword_handling -> "handling",
		.keyword_in -> "in",
		.keyword_continue -> "continue",
		.keyword_unreachable -> "unreachable",
		.keyword_mut -> "mut",
		.keyword_consuming -> "consuming",
		.keyword_for -> "for",
		.plus -> "+",
		.plus_equals -> "+=",
		.minus -> "-",
		.minus_equals -> "-=",
		.arrow -> "->",
		.star -> "*",
		.star_equals -> "*=",
		.slash -> "/",
		.slash_equals -> "/=",
		.percent -> "%",
		.bang -> "!",
		.bang_equals -> "!=",
		.equals_equals -> "==",
		.less -> "<",
		.less_equals -> "<=",
		.less_less -> "<<",
		.greater -> ">",
		.greater_equals -> ">=",
		.greater_greater -> ">>",
		.amp -> "&",
		.amp_amp -> "&&",
		.amp_equals -> "&=",
		.pipe -> "|",
		.pipe_pipe -> "||",
		.colon -> ":",
		.double_colon -> "::",
		.question_mark -> "?",
		.semicolon -> ";",
		.at_sign -> "@",
		.tilde -> "~",
		.tilde_equals -> "~=",
		.caret -> "^",
		.caret_equals -> "^=",
		.attribute -> "@<attr>",
		.dollar -> "$",
		.bound_var -> "$<var>",
		.hash -> "#",
		.ir_register -> "%<reg>",
		.effect_name -> "'<effect>",
		.single_quote -> "'",
		.eof -> "EOF",
		.line_comment -> "//"
	}
}