#editor #command #basic #input #delete #buffer #numbers

bin+lib simple-text-editor

简单文本编辑器的基本实现,作为Rust库和CLI

5个版本

0.2.3 2021年2月1日
0.2.2 2020年12月31日
0.2.1 2020年12月30日
0.2.0 2020年12月29日
0.1.0 2020年12月29日

#367 in 文本编辑器

BSD-3-Clause

18KB
223

简单文本编辑器

crates.io docs.rs CI

该程序实现了以下命令的基本文本编辑协议

  • 1 x,其中 1 是将文本追加到缓冲区的命令,而 x 是要追加的任意长度的字符集。
  • 2 n,其中 2 是从缓冲区中删除文本的命令,而 n 是从缓冲区末尾删除的字符数。
  • 3 i,其中 3 是打印缓冲区中字符的命令,而 i 是要打印的字符的1基于索引的位置。
  • 4,其中 4 是撤销先前执行命令的命令(仅影响命令 12)。

注意: 协议指定程序读取的输入的第一行被解释为随后跟随的命令数。

用法

要测试此功能,请使用 cargo 工具链构建代码,调用Rust编译器。 有关安装 cargo 和 Rust 的说明,请参阅: https://rust-lang.net.cn/tools/install

$ cargo build --bin editor

然后,使用提供的测试输入文件 input.txt,或创建自己的文件。

$ cat input.txt | ./target/debug/editor

这将打印所有字符(每个命令一行,例如 3),以及所有命令执行完毕后的最终缓冲区。

贡献

这只是好玩!然而,作为一个总是试图提高编程技能的人,我非常希望知道哪里可以进行优化。欢迎PR。或者如果遇到错误,请提交问题,我会查看!

无运行时依赖