39 个版本 (10 个稳定版本)
新 1.6.0 | 2024 年 8 月 12 日 |
---|---|
1.5.0 | 2024 年 4 月 19 日 |
1.4.1 | 2024 年 2 月 2 日 |
1.4.0 | 2023 年 10 月 3 日 |
0.1.12 | 2021 年 3 月 31 日 |
#92 in 命令行工具
每月 352 次下载
1MB
1.5K SLoC
ttyper
ttyper 是一个使用 Rust 和 Ratatui 构建的基于终端的打字测试。
聊天
如果你有兴趣为 ttyper 贡献,需要帮助解决问题,或者只是想闲聊,你应该加入 开发 Discord 服务器。
安装
预构建的二进制文件
预构建的二进制文件可在 GitHub 发布 中找到,适用于大多数架构。如果你的系统不受支持或你有其他问题,请随时打开一个问题。
cargo
cargo install ttyper
arch linux
pacman -S ttyper
nix
nix-env -iA nixpkgs.ttyper # or nixos.ttyper on NixOS
scoop
scoop install ttyper
用法
要获取使用说明,可以运行 ttyper --help
ttyper 1.5.0
Terminal-based typing test.
USAGE:
ttyper [FLAGS] [OPTIONS] [contents]
FLAGS:
-d, --debug
-h, --help Prints help information
--list-languages List installed languages
--no-backtrack Disable backtracking to completed words
--sudden-death Enable sudden death mode to restart on first error
-V, --version Prints version information
OPTIONS:
-c, --config <config> Use config file
-l, --language <language> Specify test language
--language-file <language-file> Specify test language in file
-w, --words <words> Specify word count [default: 50]
ARGS:
<contents>
示例
命令 | 测试内容 |
---|---|
ttyper |
200 个最常见英语单词中的 50 个 |
ttyper-w100 |
200 个最常见英语单词中的 100 个 |
ttyper-w100 -l english1000 |
1000 个最常见英语单词中的 100 个 |
ttyper--语言-文件 lang |
从文件 lang 中随机选择 50 个单词 |
ttyper text.txt |
text.txt 的内容,按换行符分割 |
语言
以下语言默认可用
名称 | 描述 |
---|---|
c |
C 编程语言 |
csharp |
C# 编程语言 |
english100 |
100 个最常见英语单词 |
english200 |
200 个最常见英语单词 |
english1000 |
1000 个最常见英语单词 |
english-advanced |
高级英语单词 |
english-pirate |
50 个海盗英语单词 |
german |
207 个最常见德语单词 |
german1000 |
1000 个最常见德语单词 |
german10000 |
10000 个最常见德语单词 |
go |
Go 编程语言 |
html |
超文本标记语言 |
java |
Java 编程语言 |
javascript |
Javascript 编程语言 |
norwegian |
200 个最常见挪威语单词 |
php |
PHP 编程语言 |
portuguese |
100 个最常见葡萄牙语单词 |
portuguese200 |
200 个最常见葡萄牙语单词 |
portuguese1000 |
1000个最常见的葡萄牙语单词 |
portuguese-advanced |
高级葡萄牙语单词 |
python |
Python编程语言 |
qt |
QT图形用户界面框架 |
ruby |
Ruby编程语言 |
rust |
Rust编程语言 |
spanish |
100个最常见的西班牙语单词 |
ukrainian |
100个最常见的乌克兰语单词 |
可以通过在 TTYPER_CONFIG_DIR/language
目录下创建一个包含每个单词一行的新文件来添加额外的语言。在Linux上,配置目录是 $HOME/.config/ttyper
;在Windows上,它是 C:\Users\user\AppData\Roaming\ttyper
;在macOS上,它是 $HOME/Library/Application Support/ttyper
。
config
配置通过配置目录中的 config.toml
文件指定(例如 $HOME/.config/ttyper/config.toml
)。
以下是一些带解释的默认值
# the language used when one is not manually specified
default_language = "english200"
[theme]
# default style (this includes empty cells)
default = "none"
# title text styling
title = "white;bold"
## test styles ##
# input box border
input_border = "cyan"
# prompt box border
prompt_border = "green"
# border type
border_type = "rounded"
# correctly typed words
prompt_correct = "green"
# incorrectly typed words
prompt_incorrect = "red"
# untyped words
prompt_untyped = "gray"
# correctly typed letters in current word
prompt_current_correct = "green;bold"
# incorrectly typed letters in current word
prompt_current_incorrect = "red;bold"
# untyped letters in current word
prompt_current_untyped = "blue;bold"
# cursor character
prompt_cursor = "none;underlined"
## results styles ##
# overview text
results_overview = "cyan;bold"
# overview border
results_overview_border = "cyan"
# worst keys text
results_worst_keys = "cyan;bold"
# worst keys border
results_worst_keys_border = "cyan"
# results chart default (includes plotted data)
results_chart = "cyan"
# results chart x-axis label
results_chart_x = "cyan"
# results chart y-axis label
results_chart_y = "gray;italic"
# restart/quit prompt in results ui
results_restart_prompt = "gray;italic"
style format
配置使用自定义的样式格式,可以指定大多数 ANSI转义样式代码,编码为字符串。
样式以颜色指定开始,可以是单色(前景色),也可以是两个由冒号分隔的颜色(前景色和背景色)。颜色可以是终端指定的十六种颜色之一,24位十六进制颜色代码,none
或 reset
。
在颜色之后,您可以可选地指定分号分隔的修饰符。以下是一些修饰符列表
bold
crossed_out
dim
hidden
italic
rapid_blink
slow_blink
reversed
underlined
一些例子
blue:white;italic
指定在白色背景上的斜体蓝色文本。none;italic;bold;underlined
指定没有设置颜色或背景的带下划线、斜体和加粗的文本。00ff00:000000
指定纯绿色(#00ff00)的文本在纯黑色(#000000)的背景上。
在 扩展BNF 中
style = colors, { ";", modifier }, [ ";" ] ;
colors = color, [ ":", color ] ;
color = "none"
| "reset"
| "black"
| "white"
| "red"
| "green"
| "yellow"
| "blue"
| "magenta"
| "cyan"
| "gray"
| "darkgray"
| "lightred"
| "lightgreen"
| "lightyellow"
| "lightblue"
| "lightmagenta"
| "lightcyan"
| 6 * hex digit ;
hex digit = ? hexadecimal digit; 1-9, a-z, and A-Z ? ;
modifier = "bold"
| "crossed_out"
| "dim"
| "hidden"
| "italic"
| "rapid_blink"
| "slow_blink"
| "reversed"
| "underlined" ;
border types
配置文件支持以下边框类型。
plain
rounded
(默认值)double
thick
quadrantinside
quadrantoutside
依赖关系
~8–17MB
~193K SLoC