6 releases

0.2.4 Dec 26, 2022
0.2.3 Dec 26, 2022
0.2.0 Aug 14, 2022
0.1.3 Jun 19, 2022

#2738 in Command line utilities

MIT license

32KB
795 lines

Charcoal

An alternative to wudao-dict. With colorized output and optional speech.

Installation

Arch (-ish):

yay -S charcoal

Brew:

brew install lighghteeloo/charcoal/charcoal

Build from source:

cargo install char-coal

Small Tips Ahead

Aliasing common command to chr, wd or anything shorter is recommended (cc if you don't mind?)

alias chr="char-coal query -s"

No manually designated dependencies are required. See Cargo.toml if you are interested in the crates charcoal is using.

Usage

Query

char-coal query <QUERY>

where query can be shortened as q, search, or s.

With -s or --speak-as true one can force the happening of a speech.

Edit

You may want to edit the configuration file in an easy way. Charcoal gets you covered:

char-coal edit

And with --reset it will generate a brand new configuration in case anything gets wrong.

For more details on configuration file, see Configuration section.

Clean

Charcoal caches up your queries, both text and audio. While it's nice for repetitive queries, it takes up some space. If you want, you can clean them with:

char-coal clean

For more details on cache, see Caching Strategy section.

Help

To see more options, run

char-coal help

for help on subcommands, or

char-coal query --help

for each subcommand, say, query.

Configuration

Configurations are straight forward. Just change the booleans and they're yours.

Dev

Clone and build from source:

git clone git@github.com:LighghtEeloo/Charcoal.git
cd Charcoal
cargo build --all

Alias:

cd Charcoal
cargo build --all
alias chr="RUST_LOG=info target/debug/char-coal query -s"

Caching Strategy

As a tiny cli tool, charcoal can't guarantee 100% cache consistency; however, its caching strategy is delicately designed such that inconsistency is rare and of little harm.

Only ascii with out space will be saved by name, under cache directory, to achieve better compatibility; the rest will be hashed and then saved under vault directory.

Both text and audio will be cached.

License

This repo uses MIT License.

Disclaimer and Promises

Though it's unlikely, this software may harm data. Use at your own risk.

No privacy collection will be performed.

Credits

@TomCC7 for kindly supporting, testing and making suggestions for charcoal.

@BinhaoQin for providing advice (and patience!) on PKGBUILD.

Dependencies

~21–62MB
~1M SLoC