# lua-fmt **Repository Path**: msgy/lua-fmt ## Basic Information - **Project Name**: lua-fmt - **Description**: lua-fmt 是一个用于Lua语言的代码格式化库,旨在帮助开发者自动美化和统一代码风格,提升代码可读性和团队协作效率。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-02 - **Last Updated**: 2025-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个 Lua 代码格式化工具的项目,基于 Rust 编写。它可用于对 Lua 脚本进行格式化,以统一代码风格并提高可读性。以下是项目的简要说明: ### 功能特性 - 支持自定义格式化配置,包括缩进风格、行结束符、引号风格等。 - 提供默认的格式化规则,可直接使用。 - 支持对 Lua 语句和表达式进行解析和格式化。 - 包含词法分析器和解析器,能够处理 Lua 语法结构。 ### 模块说明 - `tokenizer`: 实现了 Lua 代码的词法分析,将代码分解为 Token。 - `parser`: 对 Lua 代码进行语法解析,生成抽象语法树(AST)。 - `fmt`: 提供格式化功能,根据配置对 AST 进行格式化输出。 - `stmt`: 定义了 Lua 语法中的语句和表达式结构。 - `error_ex`: 自定义错误类型,用于处理格式化和解析过程中的异常。 ### 使用方法 1. 构建项目: ```bash cargo build ``` 2. 使用格式化功能: ```rust use lua_fmt::fmt; fn main() { let code = "function test() print('Hello, World!') end"; match fmt::format_code_default(code) { Ok(formatted) => println!("{}", formatted), Err(e) => eprintln!("格式化失败: {}", e), } } ``` ### 测试 项目包含测试模块,可验证格式化、解析等功能的正确性: ```bash cargo test ``` ### 许可证 本项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。