欢迎来到这个单一仓库。此存储库中的所有文件夹都是单独的 Rust 项目(板条箱),可能已发布到 crates.io。这就构成了一个 Rust 工作区。
这是此 monorepo 或 Rust 工作区的变更日志。这是一个开始熟悉 Rust 工作区中每个项目最近发生的变化的好地方。
目录:
以下是构成此 Rust 工作区的每个包的高级概述。
包的范围从“完整”TUI 到“部分”TUI,以及中间的所有内容。
r3bl_tui
为您提供原始模式“备用屏幕”和“全屏”支持,同时完全异步。 r3bl-cmdr
箱中的“完整 TUI”应用程序edi
就是一个例子。您可以使用以下命令安装并运行它:
cargo install r3bl-cmdr
edi
r3bl_terminal_async
使您能够使用“async readline & stdout”轻松构建自己的异步 shell 程序。
以下是这方面的示例:
r3bl_tuify
使您能够通过阻止交互轻松构建自己的 CLI 程序。这对于在阻塞主线程时获取用户输入以及在主线程阻塞时使用原始模式非常有用。一个示例应用程序是r3bl-cmdr
箱中的giti
应用程序。您可以使用以下命令安装并运行它:
cargo install r3bl-cmdr
giti
还有许多其他底层板条箱用于构建这些顶级板条箱。以下是其中的简短列表:
r3bl_core
包含许多在其他板条箱中使用的低级实用程序。这包括声明性宏、颜色、样式、unicode 支持等。随着时间的推移,如果某些代码是在“更高级别”的 crate 中创建的,并且它在其他 crate 中很有用,那么它就会被移至此 crate。这记录在变更日志中。
r3bl_test_fixtures
包含许多在其他板条箱中使用的测试装置。这包括 stdio 的模拟和事件流(由用户交互生成的输入事件)等内容。
r3bl_ansi_color
是一个与此工作区中的其他包有些无关的包。它提供了一个干净的 API,允许您在终端程序中轻松使用 ANSI 颜色。如果您不想使用更复杂的 crate,而只需向终端输出一些样式文本,那么这就是适合您的 crate。
甚至有一个板条箱只包含使用这些底层板条箱构建的面向用户的应用程序。这是r3bl-cmdr
箱,它为您提供giti
和edi
应用程序(如上所述)。您可以使用以下命令安装并运行它:
cargo install r3bl-cmdr
要了解我们如何构建这个箱子,请查看以下资源。
您可以使用一个nushell
脚本来运行此工作区的 CI/CD 管道等(仅限本地操作)。要获取这些列表,您可以查看此 repo run
根目录中的nushell
脚本。要了解可以运行的命令,请尝试运行以下命令:
cargo install nu
nu run
您应该看到如下所示的输出:
Usage: run <command> [args]
<command> can be:
all
all-cicd
build
build-full
clean
install-cargo-tools
test
docs
check
check-watch
clippy
clippy-watch
serve-docs
upgrade-deps
rustfmt
help
例如:
nu run all-cicd
命令将运行此工作区的 CI/CD 管道。nu run all
命令来运行 CI/CD 管道等(仅限本地操作)。此工作区中包含的每个包也可能有自己的nushell
脚本,也名为run
。这是此工作区中使用的约定。您可以在每个 crate 中运行run
脚本来获取特定于该 crate 的命令列表。
随着这个仓库的成长、变化和成熟,修剪是必要的。 r3bl-open-core-archive
是不再需要的所有代码和工件都移至的位置。
这样就不会“丢失”任何内容,如果您需要使用某些已删除的代码,您可以在那里找到它。
另外,如果您想更改此代码并自行维护,请告诉我们。