TokenKind

enum TokenKind

Every lexical category emitted by the canonical scanner.

Cases cover literals, keywords, punctuation, prefixed payloads, and the parser-only EOF sentinel. Stable names and spellings feed diagnostics, dumps, macro token records, and compatibility tests, so changing a case affects more than the parser's local dispatch.

Cases

case identifier

An unquoted or backtick-quoted identifier.

case int_number

A decimal integer literal.

case float_number

A floating-point literal.

case string_literal

A double-quoted string literal.

case character_literal

A single-quoted character literal.

case keyword_let

The let keyword.

case keyword_true

The Boolean literal true.

case keyword_false

The Boolean literal false.

case equals

The = punctuation or operator token.

case comma

The , punctuation or operator token.

case dot

The . punctuation or operator token.

case dot_dot

The .. punctuation or operator token.

case dot_dot_dot

The ... punctuation or operator token.

case dot_dot_less

The ..< punctuation or operator token.

case left_paren

The ( punctuation or operator token.

case right_paren

The ) punctuation or operator token.

case left_bracket

The [ punctuation or operator token.

case right_bracket

The ] punctuation or operator token.

case left_brace

The { punctuation or operator token.

case right_brace

The } punctuation or operator token.

case newline

A logical line break retained for statement separation.

case underscore

A standalone _ wildcard or omitted label.

case keyword_any

The any keyword.

case keyword_as

The as keyword.

case keyword_func

The func keyword.

case keyword_if

The if keyword.

case keyword_else

The else keyword.

case keyword_loop

The loop keyword.

case keyword_enum

The enum keyword.

case keyword_case

The case keyword.

case keyword_match

The match keyword.

case keyword_return

The return keyword.

case keyword_struct

The struct keyword.

case keyword_extend

The extend keyword.

case keyword_break

The break keyword.

case keyword_init

The init keyword.

case keyword_protocol

The protocol keyword.

case keyword_import

The import keyword.

case keyword_use

The use keyword.

case keyword_pub

The pub keyword.

case keyword_public

The public keyword.

case keyword_linear

The linear keyword.

case keyword_macro

The macro keyword.

case keyword_static

The static keyword.

case keyword_associated

The associated keyword.

case keyword_typealias

The typealias keyword.

case keyword_effect

The effect keyword.

case keyword_handling

The handling keyword.

case keyword_in

The in keyword.

case keyword_continue

The continue keyword.

case keyword_unreachable

The unreachable keyword.

case keyword_mut

The mut keyword.

case keyword_consuming

The consuming keyword.

case keyword_for

The for keyword.

case plus

The + punctuation or operator token.

case plus_equals

The += punctuation or operator token.

case minus

The - punctuation or operator token.

case minus_equals

The -= punctuation or operator token.

case arrow

The -> punctuation or operator token.

case star

The * punctuation or operator token.

case star_equals

The *= punctuation or operator token.

case slash

The / punctuation or operator token.

case slash_equals

The /= punctuation or operator token.

case percent

The % punctuation or operator token.

case bang

The ! punctuation or operator token.

case bang_equals

The != punctuation or operator token.

case equals_equals

The == punctuation or operator token.

case less

The < punctuation or operator token.

case less_equals

The <= punctuation or operator token.

case less_less

The << punctuation or operator token.

case greater

The > punctuation or operator token.

case greater_equals

The >= punctuation or operator token.

case greater_greater

The >> punctuation or operator token.

case amp

The & punctuation or operator token.

case amp_amp

The && punctuation or operator token.

case amp_equals

The &= punctuation or operator token.

case pipe

The | punctuation or operator token.

case pipe_pipe

The || punctuation or operator token.

case colon

The : punctuation or operator token.

case double_colon

The :: punctuation or operator token.

case question_mark

The ? punctuation or operator token.

case semicolon

The ; punctuation or operator token.

case at_sign

The @ punctuation or operator token.

case tilde

The ~ punctuation or operator token.

case tilde_equals

The ~= punctuation or operator token.

case caret

The ^ punctuation or operator token.

case caret_equals

The ^= punctuation or operator token.

case attribute

An @-prefixed attribute name whose lexeme excludes the sigil.

case dollar

A $-prefixed macro antiquotation name.

case bound_var

A $-prefixed type-inference variable.

case hash

A #-prefixed compiler form such as #unsafe or #handle.

case ir_register

A %-prefixed inline-IR register.

case effect_name

A quote-prefixed effect name.

case single_quote

A standalone quote token.

case eof

Never produced by scan: the parser-side end-of-stream sentinel.

case line_comment

Comments re-enter the stream only through lex_tokens (the highlighter's surface); the parser never sees them.