token

package
v3.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Source

type Source struct {
	File string `json:"file"`
	Path string `json:"path"`
}

type Token

type Token struct {
	Type      TokenType
	Literal   string
	ImpPrefix config.ImplementationPrefix
	Line      int
	Column    int
	Source    Source
}

Token is the basic structure of the captured token

type TokenType

type TokenType string

TokenType is the lexer parsed TokenType

const (
	ILLEGAL TokenType = "ILLEGAL"
	EOF     TokenType = "EOF"

	SPACE           TokenType = "SPACE"           // ' '
	TAB             TokenType = "TAB"             // '\t'
	NEW_LINE        TokenType = "NEW_LINE"        // '\n'
	CARRIAGE_RETURN TokenType = "CARRIAGE_RETURN" // '\r'
	CONTROL         TokenType = "CONTROL"

	// Identifiers + literals
	TEXT TokenType = "TEXT"

	EXCLAMATION  TokenType = "!"
	DOUBLE_QUOTE TokenType = "\""
	SINGLE_QUOTE TokenType = "'"
	// other separators
	AT_SIGN             TokenType = "AT_SIGN"             // `@`
	PIPE                TokenType = "PIPE"                // `|`
	COLON               TokenType = "COLON"               // `:`
	EQUALS              TokenType = "EQUALS"              // `=`
	DOT                 TokenType = "DOT"                 // `.`
	COMMA               TokenType = "COMMA"               // `,`
	QUESTION_MARK       TokenType = "QUESTION_MARK"       // `?`
	BACK_SLASH          TokenType = "BACK_SLASH"          // `\`
	FORWARD_SLASH       TokenType = "FORWARD_SLASH"       // `/`
	SLASH_QUESTION_MARK TokenType = "SLASH_QUESTION_MARK" // `/?`

	// Comment Tokens
	DOUBLE_FORWARD_SLASH TokenType = "DOUBLE_FORWARD_SLASH" // `//`
	HASH                 TokenType = "HASH"                 // `#`

	// CONFIGMANAGER_TOKEN Keywords
	// CONFIGMANAGER_TOKEN_SEPARATOR          TokenType = "CONFIGMANAGER_TOKEN_SEPARATOR"          // Dynamically set
	BEGIN_CONFIGMANAGER_TOKEN              TokenType = "BEGIN_CONFIGMANAGER_TOKEN"              // Dynamically set
	CONFIGMANAGER_TOKEN_KEY_PATH_SEPARATOR TokenType = "CONFIGMANAGER_TOKEN_KEY_PATH_SEPARATOR" // Dynamically set
	BEGIN_META_CONFIGMANAGER_TOKEN         TokenType = "BEGIN_META_CONFIGMANAGER_TOKEN"         // `[`
	END_META_CONFIGMANAGER_TOKEN           TokenType = "END_META_CONFIGMANAGER_TOKEN"           // `]`
	// This may not possible
	END_CONFIGMANAGER_TOKEN TokenType = "END_CONFIGMANAGER_TOKEN"

	// Parsed "expressions"
	CONFIGMANAGER_TOKEN_CONTENT TokenType = "CONFIGMANAGER_TOKEN_CONTENT"
	UNUSED_TEXT                 TokenType = "UNUSED_TEXT"
)

func LookupIdent

func LookupIdent(ident string) TokenType

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL