# wpm plugin This [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh) plugin lets you test your typing speed in a terminal, track WPM, accuracy, and more. Results are saved in a handy JSON format for easy tracking. ## Setup ### oh-my-zsh Place the `wpm` folder in `.oh-my-zsh/custom/plugins`. Add `wpm` to the `plugins` array in your `.zshrc` file: ``` plugins=(... wpm) ``` Make sure `ZSH_CUSTOM` is set: ``` ZSH_CUSTOM="$HOME/.oh-my-zsh/custom" ``` ### Required Packages ``` sudo apt install jq>=1.7 ``` ## Usage ### Functions Start a speed test: ``` wpm_test ``` You can set a timer if you want (default is 60): ``` wpm_test -d ``` Specify a word list file to use (otherwise the file selection menu appears): ``` wpm_test -f ``` View speed test result history: ``` wpm_history ``` View average stats for every speed test: ``` wpm_stats ``` ### Data Select a word list txt file to use. Feel free to add your own lists in `wpm/lists/`. Test results are stored in `wpm/stats/stats.json` and are organized via file name. ``` { "words_top-250-english-adv.txt": { "average": { "wpm": 42, "accuracy": 100, "tests taken": 1 }, "results": [ { "date": "11/10/2024 9:12PM", "wpm": 42, "test duration": 10, "keystrokes": 47, "accuracy": 100, "correct": 7, "incorrect": 0 } ] }, "words_top-250-english-easy.txt": { "average": { "wpm": 69, "accuracy": 84, "tests taken": 2 }, "results": [ { "date": "11/10/2024 9:16PM", "wpm": 78, "test duration": 10, "keystrokes": 79, "accuracy": 92, "correct": 13, "incorrect": 1 }, { "date": "11/10/2024 9:17PM", "wpm": 60, "test duration": 10, "keystrokes": 63, "accuracy": 76, "correct": 10, "incorrect": 3 } ] } } ``` ## Configuration Add as many txt word lists you want in `wpm/lists/`. Words must be on their own line.