4 releases
new 0.2.1 | Jan 17, 2025 |
---|---|
0.2.0 | Jan 15, 2025 |
0.1.1 | Jan 13, 2025 |
0.1.0 | Jan 11, 2025 |
#93 in Biology
300 downloads per month
22KB
194 lines
bio-read
Bionic reading in terminal.
🚀 Installation
If you have cargo-binstall
, you can install this tool by running:
cargo binstall bio-read
Otherwise, you can install it from source:
cargo install bio-read
📖 Usage
$ br --help
Usage: br [-i <input>] [-f <fixation-point>] [-e <emphasize>] [-d <de-emphasize>]
Bionic reading in terminal.
Options:
-i, --input the file to read from. Read from stdin if not specified.
-f, --fixation-point
the fixation point. Should be in range [1, 5]. Default is 3.
-e, --emphasize customize how to emphasize the text. The emphasized text
will take the place of "{}". Example: --emphasize
"<em>{}</em>". Default to ansi bold.
-d, --de-emphasize
customize how to de-emphasize the text. The de-emphasized
text will take the place of "{}". Example: --de-emphasize
"<de>{}</de>". Default to ansi dimmed.
-h, --help display usage information
For simple usage, run br
with the -i
flag, which is a shorthand for --input
:
$ br -i file.txt
Alternatively, pipe the text you want to read into br
:
$ cat file.txt | br
To set fixation points, use the -f
flag, which is a shorthand for --fixation-point
:
$ cat file.txt | br -f 1
📝 Note
Although this tool aims to be as close to the original bionic reading as possible, it is not exactly the same. Notably, the behavior differs when a word is too long, and it handles special characters differently. However, this tool is open-source, and guarantees linear time complexity and and constant memory usage.
✅ TODO
- Streaming input and output (
bio_read
method ofbio_read::BioReader
) - Remove empty de-emphasized tags
- Auto detection of whether ansi styling is supported (
anstream::AutoStream
?) - Allow overriding auto detection of ansi styling (
anstream::ColorChoice
?)
Dependencies
~2MB
~21K SLoC