Skip to main content

Crate clx

Crate clx 

Source
Expand description

§clx

A library for building CLI applications with rich terminal output.

clx provides hierarchical progress indicators with spinners, OSC terminal integration, and styling utilities for creating polished command-line interfaces.

§Quick Start

use clx::progress::{ProgressJobBuilder, ProgressStatus};

// Create and start a progress job
let job = ProgressJobBuilder::new()
    .prop("message", "Processing files...")
    .start();

// Do work...

// Mark as complete
job.set_status(ProgressStatus::Done);

§Modules

  • progress - Hierarchical progress indicators with spinners and templates
  • osc - OSC 9;4 terminal progress bar integration
  • style - Color and formatting utilities for terminal output

§Features

  • Progress Jobs - Create hierarchical progress indicators with animated spinners, status tracking, and nested child jobs
  • Template Rendering - Use Tera templates for customizable progress display
  • OSC Integration - Automatic progress bar in terminal title bars for supported terminals (Ghostty, VS Code, Windows Terminal, VTE-based)
  • Styling - Color and formatting utilities with automatic terminal detection
  • Thread Safety - All progress operations are thread-safe with interior mutability

Modules§

osc
OSC (Operating System Command) escape sequences for terminal integration.
progress
Hierarchical progress indicators with spinners and template rendering.
style
Terminal styling utilities for colored and formatted output.

Enums§

Error
Error type for clx operations.

Type Aliases§

Result
A specialized Result type for clx operations.