6 releases
0.2.4 | Feb 2, 2021 |
---|---|
0.2.3 | Feb 2, 2021 |
0.2.1 | Sep 22, 2020 |
0.0.2 | Sep 22, 2020 |
0.0.1 | Jun 1, 2020 |
#1270 in Text processing
7KB
113 lines
A simple word counter
Give the word and count the appearance.
The first rust project of mine.
Install
cargo install wcounter
Usage
Add the words to wcounter, And It show the word list in order of appearances.
> wcounter --dest-file="path/to/file" add some_word
> wcounter --dest-file="path/to/file" add some_word2
> wcounter --dest-file="path/to/file" add some_word3
> wcounter --dest-file="path/to/file" add some_word2
# shows by ascending
> wcounter --dest-file="path/to/file" show
some_word
some_word3
some_word2
# shows by descending
> wcounter --dest-file="path/to/file" show --reverse
some_word2
some_word3
some_word
...
Integrated with Zsh and FZF
Inspired by the entry
typeset -U chpwd_functions
## save the current directory after cd
CD_HISTORY_FILE=${HOME}/.cd_history_file # cd history filcd history file
function chpwd_record_history() {
echo $PWD | xargs wcounter --dest-file=${CD_HISTORY_FILE} add
}
chpwd_functions=($chpwd_functions chpwd_record_history)
## load the cd history
function fd(){
dest=$(wcounter --dest-file=${CD_HISTORY_FILE} show --reverse | fzf +m --query "$LBUFFER" --prompt="cd > ")
cd $dest
}
File Locking
To avoid conflict of the output file by written simultaneously by multiple process, wcounter uses cluFlock.The lock file will be created at {dest_file_path}.lock
, and will be reused by another process, so the lock file not deleted automatically.
Dependencies
~2.2–3.5MB
~62K SLoC