# 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](file:///e:/模板引擎/vmz/compilers/vmz-parser): 为格式化提供精准的源码解析支持。
- [vmz-check](file:///e:/模板引擎/vmz/compilers/vmz-check): 在自检流程中调用此工具验证代码风格一致性。