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 |
#23 in #translate
33KB
828 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
~22–57MB
~1M SLoC