#cli-tool #typing #effect #command #write #terminal #execute

bin+lib swordfish-rs

用于屏幕录制中终端打字效果的命令行工具

14 个版本 (5 个破坏性更新)

0.6.0 2022年9月17日
0.5.2 2022年9月17日
0.4.0 2022年9月11日
0.3.2 2022年9月11日
0.1.1 2022年9月9日

#1790命令行工具

每月 下载次数 39

自定义许可证

14KB
251

swordfish-rs

用于屏幕录制和演示的打字效果命令行工具

Crates.io Crates.io

  1. 💬 描述你在做什么
  2. ⚡️ 运行任何终端命令并将输出显示到屏幕
  3. 🤖 可重复步骤 - 重复迭代 screenplay 文件直至完美
  4. 😎 通过实时在终端中打字模仿真实人物的行为

Swordfish hack scene

演示

示例 screenplay.yaml 文件

- !clear
# - !turbo {by: 3}
- !write {msec: 0, color: green, text:  "$ "}
- !write {msec: 20, text:    "i am going to list this dir"}
- !wait {msec: 1000}
- !erase {msec: 20, by_chars: xxxxxxxxxxxxxxxxxxxxxxxxxxx }
- !wait {msec: 1000}
- !write {msec: 20, text: ls}
- !wait {msec: 1000}
- !execute {line: ls -la}
- !wait {msec: 3000}
- !write {msec: 1000, color: green, text:  "$ "}
- !write {msec: 20, text: "bye, press any key..."}
- !pause

运行 swordfish screenplay.yaml

demo

快速入门

安装

cargo install swordfish-rs

您的机器上需要安装 Rust,可以从 https://rustup.rs 获取

用法

创建一个剧本文件并运行 swordfish

swordfish path/to/file.yaml

命令

以下命令可用,命令名前用 ! 表示,例如 !clear

clear

清屏命令。

erase

删除左侧字符。

参数 类型 描述
amount (可选) 字符串 退格的次数
by_chars (可选) 字符串 退格的次数由提供的文本长度决定
msec 整数 单个退格之间的延迟(毫秒)

使用 amountby_chars 或两者都使用。

execute

执行 shell 命令或其他应用程序并显示它们的输出。

参数 类型 描述
line 字符串 要执行的命令行,尊重引用的参数

将显示输出,而执行命令本身将不会显示。

new_line

模拟用户的 ENTER

pause

在下一个命令之前暂停并等待用户输入(任意键...)

prompt

提示指定在每次 execute 之后显示的常文本,且不受 erase 影响。

参数 类型 描述
text 字符串 提示文本
color (可选) 字符串 文本颜色:blackredgreenyellowbluemagentacyanwhite 或更亮的变体,例如 bright_red

turbo

加快一切速度,当遍历剧本时非常有用。

参数 类型 描述
整数 以这个因子加快一切速度

等待

暂停执行指定时间,然后继续。

参数 类型 描述
msec 整数 下一个命令前的延迟(毫秒)

写入

将文本写入终端。

参数 类型 描述
text 字符串 要输入的终端文本,每个字符将逐个输入,有一定的延迟
msec 整数 输入字符之间的延迟(毫秒)
color (可选) 字符串 文本颜色:blackredgreenyellowbluemagentacyanwhite 或更亮的变体,例如 bright_red

依赖项

~5–17MB
~179K SLoC