3个稳定版本

使用旧的Rust 2015

1.1.0 2017年7月18日
1.0.5 2017年6月1日
1.0.4 2017年4月25日

#2#kailua


3 个crate 使用

MIT/Apache

450KB
7.5K SLoC

Rust 5K SLoC // 0.1% comments Lua 2.5K SLoC // 0.6% comments

🌴 Kailua (crates.io)

韩语

Kailua 是一种用于 Lua 编程语言(目前仅支持 Lua 5.1)的实验性类型检查器和集成开发环境(IDE)。

详细文档可在 此处 获取。

安装和使用

Kailua可以用作独立检查器或IDE插件。

独立检查器

要安装独立检查器,首先 安装Rust(需要1.15或更高版本),然后输入以下内容

cargo install -f kailua

(-f 将升级现有安装。)

现在您可以运行 kailua check <入口点的路径>

如果您在该目录中有 kailua.json.vscode/kailua.json,您也可以运行 kailua check <目录的路径>。配置格式将在后面的章节中描述。

Visual Studio Code

Kailua可以作为 Visual Studio Code 的IDE支持使用。在快速启动(Ctrl-P)中输入 ext install kailua 安装Kailua。 如果您不在Windows上,您还应该按照上述方法安装独立检查器。

当您打开包含Lua代码的文件夹时,您将看到配置文件缺失的警告。您需要它来进行实时检查。

您可以通过手动创建 .vscode/kailua.json 或通过命令面板(Ctrl-Shift-P)中的“Kailua”搜索来编辑一个。

以下内容是 .vscode/kailua.json 所必需的,以防您手动编辑它

{
    "start_path": "<path to the entry point>",

    "preload": {
        // This indicates that we are using Lua 5.1 and all built-in libraries of it.
        "open": ["lua51"],
    },
}

您需要重新加载当前窗口(Ctrl-RCmd-R)以应用配置。

您的第一个 Kailua 代码

一旦您设置了入口点,您就可以编写您的第一个 Kailua 代码

--# open lua51
print('Hello, world!')

如果您正在使用配置文件,则第一个代码可以简化很多

print('Hello, world!')

用这段代码玩玩,看看 Kailua 可以检测到哪些错误。

许可证

Kailua 根据您的选择,在 MIT 许可证Apache 许可证 2.0 下双许可。通过向 Kailua 贡献,您同意您的贡献将根据这两项许可证进行许可。


lib.rs:

Kailua 的类型检查器。

类型检查涉及四种类型

  • kailua_check::env::Context 是所有检查文件的全局上下文。它还公开了到类型环境的接口,kailua_types::env::Types

  • kaliua_check::env::Env 是每个文件的上下文。检查器还会为新加载的文件构建自己的 Env,但第一个 Env 应该明确给出。

  • kailua_check::options::Options 是类型检查器可配置的部分。目前它允许您配置 require 路径和实际加载过程。

  • kailua_check::Checker 是实际的检查器。由于内部架构,它还根据输入块(由于生命周期不匹配而不能放入 Env)保留一些辅助信息。

在类型检查之后,Context 可以提取到 Output 以供后续分析。

依赖项

~5MB
~95K SLoC