Skip to main content

Crate farben_core

Crate farben_core 

Source
Expand description

Core library for the farben terminal styling crate.

Provides the full pipeline for parsing farben markup strings into ANSI escape sequences: tokenization (lexer), ANSI encoding (ansi), rendering (parser), named style registration (registry), and error types (errors).

v0.7.0 adds two supporting modules:

  • [env]: runtime detection of whether ANSI output should be enabled. env::color_enabled respects NO_COLOR and FORCE_COLOR, falling back to TTY detection (isatty(1) on Unix, GetConsoleMode on Windows).
  • strip: exposes strip::strip_ansi, which removes CSI escape sequences from a string. Useful for measuring display width, plain-text logging, or piping output to tools that do not interpret ANSI codes.

Typical usage flows through the lexer::tokenize and parser::render functions, with optional style definitions via the registry module and its macros.

Modulesยง

ansi
ANSI SGR escape sequence encoding for farben styles.
degrader
Color degradation for terminals that lack truecolor support.
env
Runtime detection of whether ANSI color output should be enabled.
errors
Error types for farben markup tokenization and registry operations.
lexer
Tokenizer for farben markup strings.
parser
Token stream renderer.
registry
Global named style registry.
strip
Utilities for stripping ANSI escape sequences from strings.