Highlight
Constants
BINARY_NUMBER_RE = "\\b(0b[01]+)"
C_NUMBER_RE = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"
COMMON_KEYWORDS = ["of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value"]
DEFAULT_KEYWORD_SCOPE = "keyword"
IDENT_RE = "[a-zA-Z]\\w*"
MATCH_NOTHING_RE = /\b\B/
--- Common regexps (строки как в оригинале) ---
MAX_KEYWORD_HITS = 7
NO_MATCH = -1
NUMBER_RE = "\\b\\d+(\\.\\d+)?"
RE_STARTERS_RE = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~"
SPAN_CLOSE = "</span>"
UNDERSCORE_IDENT_RE = "[a-zA-Z_]\\w*"
VERSION = "11.12.0"
Class methods
compile_keywords(raw_keywords : KeywordsVal, case_insensitive : Bool, scope_name : String = DEFAULT_KEYWORD_SCOPE) : MatchGroups
Sourcedefault
SourceПлоский список токенов {scope, text} для GUI-потребителей: DFS по дереву эмиттера (HighlightResult#emitter.root); для текста под вложенными узлами выигрывает ближайший ненулевой scope. language = nil → автодетект (highlight_auto); незарегистрированный язык → nil — вызывающий деградирует сам.
Nested types
- Highlight::BeforeHighlightContext
- Highlight::CompiledScope
- Highlight::CompilerExt
- Highlight::EnhancedMatch
- Highlight::HLJS
- Highlight::HTMLRenderer
- Highlight::HighlightResult
- Highlight::HighlightSession
- Highlight::IllegalError
- Highlight::JSRe
- Highlight::JSRegex
- Highlight::KeywordsVal
- Highlight::LanguageCompiler
- Highlight::Languages
- Highlight::MODES
- Highlight::MatchGroups
- Highlight::Mode
- Highlight::ModeCallback
- Highlight::MultiClassError
- Highlight::MultiRegex
- Highlight::Pattern
- Highlight::Plugin
- Highlight::RegexHelpers
- Highlight::Response
- Highlight::ResumableMultiRegex
- Highlight::ScopeVal
- Highlight::TokenTree
- Highlight::TokenTreeEmitter
- Highlight::TreeChild
- Highlight::TreeNode
- Highlight::UnknownLanguageError