vmz-formatter
Cvo 框架的代码格式化工具,守护 HXO 代码美学的自动化工匠。
📖 简介
vmz-formatter 专注于为 Cvo 项目提供统一的代码风格。它不仅能够处理标准的 TypeScript/JavaScript 代码,更针对 HXO 单文件组件(SFC)进行了深度优化,确保 <template>, <script>, <style> 等不同区块的代码都能按照既定的美学规范进行重排,实现团队级的代码风格零成本同步。
✨ 核心特性
- SFC 全局感知: 完美识别 HXO 组件结构,支持对不同区块应用针对性的格式化策略。
- AST 驱动重构: 基于解析后的 IR 进行代码重写,相比正则表达式匹配,更加稳健且语义准确。
- 自定义风格配置: 支持通过 Cvo 配置文件自定义缩进、引号、末尾分号等常见风格偏好。
- 高性能执行: 纯 Rust 实现的格式化引擎,在大规模代码库下依然保持毫秒级的处理速度。
🏗️ 核心逻辑
- CvoFormatter: 格式化引擎核心,持有解析器实例并负责驱动整个格式化流程。
- format 方法: 实现了分块格式化逻辑,依次处理模板、脚本、样式及自定义块。
- format_template_node: 针对模板节点的专用重排逻辑,处理缩进与属性排列。
🔗 相关项目
- vmz-parser: 为格式化提供精准的源码解析支持。
- vmz-check: 在自检流程中调用此工具验证代码风格一致性。