3 个版本 (破坏性更新)

0.3.0 2024年7月12日
0.2.0 2024年6月9日
0.1.0 2024年4月13日

1779命令行工具 中排名

每月下载量 38
yash-cli 中使用

GPL-3.0-or-later

3MB
60K SLoC

Yash-builtin

yash-builtin 是一个 Rust 库包,实现了 yash 的内置工具。

yash-builtin at crates.io yash-builtin at docs.rs Build status

许可证

此包遵循 GPLv3 许可。


lib.rs:

实现 shell 内置工具。

每个内置工具都在以工具命名的子模块中实现。子模块包含实现内置工具的 main 函数。子模块还可能导出由 main 函数使用的其他项。每个子模块的模块文档描述了内置工具的规范。

common 模块提供用于实现内置工具的常用函数。

堆栈

该包中的许多内置工具使用 Stack::current_builtin 来获取调用内置工具的命令词。它用于在错误消息中报告命令位置,根据命令切换内置工具的行为等。为了正确工作,堆栈应该包含一个 内置帧,以便 Stack::current_builtin 提供正确的命令词。

可选依赖

yash-builtin 包有一个可选依赖项 yash-semantics 包,默认启用。如果您禁用了 yash-semantics 功能,以下内置工具将不可用

  • command
  • eval
  • exec
  • read
  • source
  • type
  • wait

yash-builtin 包还包含一个可选依赖 yash-prompt 包,默认情况下是启用的。如果您禁用了 yash-prompt 功能,内置的 read 不会打印提示。注意,yash-prompt 功能需要 yash-semantics 功能。

依赖关系

~8–18MB
~258K SLoC