#zsh #fzf #word-count #give #show #appearance #dest-file

app wcounter

Give the word and count the appearance

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

#1198 in Text processing

MIT license

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.1–3.5MB
~60K SLoC