Skip to main content

Crate libaki_mcycle

Crate libaki_mcycle 

Source
Expand description

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-muslred
  • 2nd match: makes ‘linux-musleabigreen
  • 3rd match: makes ‘linux-musleabihfblue
  • 4th match: makes ‘linux-muslabi64cyan
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.

Modules§

conf

Functions§

execute
execute mcycle
execute_with_env
execute mcycle with environments