aki-mcycle 0.2.1

mark up text with cycling color
Documentation

aki-mcycle

crate Docs Rust Version Apache2/MIT licensed Test ubu Test mac Test win

the mark up text with cycling color program.

Features

  • mark up text with cycling color.
  • Stateful Color Consistency: Reuses the same color for identical matches within a 50-line window for better visual tracing.
  • minimum support rustc 1.68.0 (2c8cc3432 2023-03-06)

Key Feature: Stateful Color Consistency

Unlike simple color cyclers, aki-mcycle remembers the color assigned to a specific match. If the same string appears again within a sliding window (default 50 lines), it reuses the same color. This provides excellent visual continuity when tracing identifiers or specific patterns in log files.

Performance

aki-mcycle is designed for high-performance text processing. It efficiently handles large input streams and extremely long lines by using a sparse memory representation for color segments. This ensures minimal memory footprint even when processing single lines that span multiple megabytes, making it suitable for heavy-duty log analysis.

Command help

aki-mcycle --help
Usage:
  aki-mcycle [options]

mark up text with the cyclic color.

Options:
  -e, --exp <exp>   write it in the cyclic color (default: ' ([0-9A-Z]{3,}):')

  -H, --help        display this help and exit
  -V, --version     display version information and exit

Option Parameters:
  <exp>     regular expression, color the entire match with the cyclic color.

Environments:
  AKI_MCYCLE_COLOR_SEQ_RED_ST       red start sequence specified by ansi
  AKI_MCYCLE_COLOR_SEQ_GREEN_ST     green start sequence specified by ansi
  AKI_MCYCLE_COLOR_SEQ_BLUE_ST      blue start sequence specified by ansi
  AKI_MCYCLE_COLOR_SEQ_CYAN_ST      cyan start sequence specified by ansi
  AKI_MCYCLE_COLOR_SEQ_MAGENTA_ST   magenta start sequence specified by ansi
  AKI_MCYCLE_COLOR_SEQ_YELLOW_ST    yellow start sequence specified by ansi
  AKI_MCYCLE_COLOR_SEQ_ED           color end sequence specified by ansi

Quick install

  1. you can install this into cargo bin path:
cargo install aki-mcycle
  1. you can build debian package:
cargo deb

and install .deb into your local repository of debian package.

Examples

Command line example 1

Extract "arm" from the rustup target list and make "linux-[^ ]+" color.

  • 1st match: makes 'linux-musl' red
  • 2nd match: makes 'linux-musleabi' green
  • 3rd match: makes 'linux-musleabihf' blue
  • 4th match: makes 'linux-muslabi64' cyan
rustup target list | aki-mline -e arm | aki-mcycle -e "linux-[^ ]+"

result output :

out rustup image

  • aki-mline: extract match line command like grep.

Library example

See fn execute() for this library examples.

Changelogs

This crate's changelog here.

License

This project is licensed under either of

at your option.