#script #boilerplate #shell #compiler #rust

app khaki

一个用于编写更少样板代码的Rust脚本的工具

2个不稳定版本

0.2.0 2021年4月21日
0.1.0 2020年8月6日

#118#boilerplate

自定义许可协议

11KB
220

khaki

一个允许您用更少的样板代码快速编写Rust "脚本"的工具。

使用示例

$ cargo install khaki
$ cat examples/echo.rs | examples/echo.rs
#!/usr/bin/env khaki

let stdin = stdin();
loop {
    let mut buf = String::new();
    match stdin.read_line(&mut buf) {
        Ok(0) => break,
        Ok(_) => print!("{}", buf),
        _ => exit(1),
    };
}

如果上面的示例不够明显,那么 examples/echo.rs 文件是标准的Rust代码,但没有 main 函数和 use 语句的样板代码。它是一个可执行文件(chmod +x),带有shebang行,通过 khaki "解释器" 运行。这个 "解释器" 实际上只是预处理脚本以插入缺失的样板代码,然后使用 rustc 编译并执行它。

目标

khaki 的总体目标是使在一次性脚本中使用Rust尽可能容易,就像使用Python一样。

常见问题解答

问:为什么叫“卡其色”?答:这是一种比锈色浅的颜色。

依赖项

~77–530KB