Repository navigation
v0.4.0
Changelog
All notable changes to Farben will be documented here.
[0.4.0] - 2026-03-15
Public Farben Update. Changes to farben-core, farben, and farben-macros is displayed here.
Added
Style::parse()— builds aStylefrom farben markup stringStyle::resetfield — whentrue, overrides all other style attributes with a full SGR resetregistrymodule — global style registry backed byOnceLock<Mutex<HashMap<String, Style>>>insert_style()— inserts a named style into the global registrysearch_registry()— looks up a named style from the global registrystyle!()macro — user-facing API for defining custom named stylesstyle_to_tags()— converts aStyleinto aVec<TagType>for lexer expansion- Custom tag resolution in
parse_part()— unknown tags now check the registry before returningInvalidTag parse_part()return type changed fromResult<TagType, LexError>toResult<Vec<TagType>, LexError>to support style expansioncolorb!()bleeds at compile-time with thecolorb()runtime counterpart
Changed
parse_tag()updated to flatten nestedVec<TagType>results fromparse_part()- All functions, when using
compilecan now benefit from compile-time processing instead of just validation
Fixed
color!()now auto-resets.