Skip to content
/ typioca Public
forked from bloznelis/typioca

Cozy typing speed tester in terminal with Ctrl+Backspace to delete whole previous word.

License

Notifications You must be signed in to change notification settings

Sha-N0/typioca

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

typioca

Minimal, terminal based typing speed tester.

GitHub release (latest SemVer) GitHub Workflow Status

Tapioca (/ˌtæpiˈoʊkə/) is a starch extracted from the storage roots of the cassava plant. Pearl tapioca is a common ingredient in Asian desserts...and sweet drinks such as bubble tea.

Features

  • Time or word/sentence count based typing speed tests
  • Proper WPM results based on https://www.speedtypingonline.com/typing-equations
  • Multiple word/sentence lists made out of classical books to spice your test up
  • Cursor aware word lines
  • Interactive menu
  • ctrl+w support
  • SSH server typioca serve
  • Dynamic word lists
  • Custom word lists
  • Linux/Mac/Win support
  • ctrl+backspace and ctrl+h deletes the whole previous word

Installation

AUR

yay -S typioca-git

Go

go install github.com/Sha-N0/typioca@latest

Note: This will install typioca in $GOBIN, which defaults to $GOPATH/bin or $HOME/go/bin if the GOPATH environment variable is not set.

Ensure you have the latest Go version, as typioca only works with Go 1.20+. sudo apt install golang will not give the latest Go version. Follow the below to install the lastest Go verison:

Uninstall the existing Go version:

sudo apt remove golang-go
sudo apt purge golang-go

Download and install the latest Go version:

Visit the official Go download page and get the latest version. For example, to download and install Go 1.20 or later:

wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

Update your PATH to include the Go binary:

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
source ~/.zshrc  # or source ~/.bashrc if you use Bash

Verify Go installation:

go version

You should see something like go version go1.22.5 linux/amd64.

Set up Go environment variables:

echo 'export GOPATH=$HOME/go' >> ~/.zshrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc
echo 'export GO111MODULE=on' >> ~/.zshrc
source ~/.zshrc  # or source ~/.bashrc if you use Bash

Install typioca using go install:

go install github.com/Sha-N0/typioca@latest

Homebrew

brew tap Sha-N0/tap
brew install typioca

Nix

nix-shell -p typioca

openSUSE Tumbleweed

zypper install typioca

Scoop

scoop bucket add extras
scoop install typioca

Void Linux

xbps-install typioca

Winget

winget install Sha-N0.typioca

Building from source

  1. Checkout the code
  2. make build
  3. ./execs/typioca

Prerequisites

  • make
  • go

Custom wordlists

  1. Create your word list in a new line separated manner:
custom
words
are
the
best

or in the same JSON format as the official ones:

{
  "metadata" : {
    "name" : "My words",
    "size" : 5,
    "packagedAt" : "1970-01-01T00:00:00Z",
    "version" : 1
  },
  "words": [ "custom", "words", "are", "the", "best" ]
}
  1. Place your configuration to platform specific location:
Platform User configuration
Windows %APPDATA%\typioca\typioca.conf or C:\Users\%USER%\AppData\Roaming\typioca\typioca.conf
Linux $XDG_CONFIG_HOME/typioca/typioca.conf or $HOME/.config/typioca/typioca.conf
macOS $HOME/Library/Application Support/typioca/typioca.conf

Config example (it is TOML):

[[words]]
  name      = "Best hits '22"
  enabled   = false
  sentences = false
  path      = "/home/words/best-hits-22.json"
[[words]]
  name      = "Even better hits '23"
  enabled   = true
  sentences = false
  path      = "/home/words/better-hits-23.json"
  1. Use your words! ship it

Note: Notice that custom wordlist controls are greyed-out, personal configuration must be handled via the file only.


1 3 2 4

Acknowledgments

Built with bubbletea

🧋

About

Cozy typing speed tester in terminal with Ctrl+Backspace to delete whole previous word.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 92.1%
  • Clojure 6.0%
  • Makefile 1.9%