by-word
NAME
by-word — CLI for App::ByWord
SYNOPSIS
# From a file
by-word --wpm=450 --no-border text.txt
# From STDIN
cat text.txt | by-word --wpm=350
# Multiple files (merged)
by-word file1.txt file2.txt
DESCRIPTION
This script drives App::ByWord to render one word at a time in your terminal using RSVP. It accepts either STDIN or any number of file paths. When file paths are given, they are merged into a single stream.
DEMO

OPTIONS
Usage: by-word [<files> ...] [-w|--wpm[=UInt]] [-b|--border] [-l|--line-no[=UInt]] [-t|--to-left[=Int]] [-s|--starting-word[=UInt]] [--wait[=UInt]] [--wait-to-start[=UInt]] [--wait-to-finish[=UInt]]
- -w|--wpm[=UInt] Words per minute (pace).
- -b|--[no-]border Draw guide bars above/below the focus line.
- -l|--line-no[=UInt] 1-based line number for the word.
- -t|--to-left[=Int] Horizontal offset left of center for the anchor.
- -s|--starting-word[=UInt] Start from this word index (skip). Warning: currently not functional; will be fixed in upcoming releases.
- --wait[=UInt] Base delay unit in empty intervals; default wpm div 50.
- --wait-to-start[=UInt] Empty intervals before the first word of each line; defaults to --wait.
- --wait-to-finish[=UInt] Empty intervals after the last word of each line; defaults to --wait.
INPUTS
- STDIN: If no files are provided, STDIN is used. - Files: One or more file paths are read and merged.
SIGNALS
- SIGINT (Ctrl‑C): stops playback and restores the terminal state.
- SIGTERM: also stops playback and restores the terminal state.