跳到正文
豫言包管理
← 全部包

语法高亮核验 0.1.0

豫言 · 可执行文件

逐文件对照解析器语义标记与 TextMate 高亮。

本工具逐一检查 Git 工作树内的豫言源码。它调用独立的豫言库 库/编译器核心/编译步骤/语法分析/源码语义标记。豫,复用编译器的词法分析、语法分析和语义标记定位;随后调用 应用/开发工具/yuyan-vscode/test/语法高亮核验.mjs,用 VS Code 扩展的同一份 TextMate grammar 与 Oniguruma 分词,对可比的源码范围逐字比较。

node 豫言操作系统/宿主/节点/宿主.cjs yy3_bs.wasm 应用/开发工具/语法高亮核验/入口。豫 -o yy语法高亮核验.wasm --parallel
node 豫言操作系统/宿主/节点/宿主.cjs yy语法高亮核验.wasm

可传仓库根目录。默认使用当前目录。候选文件由 git ls-files -co --exclude-standard 取得,只选择 。豫、.yuyan、.yyon,忽略 _v0 目录及 Git 忽略文件。文件表写入仓库根目录的 yy语法高亮文件表.txt;工具另建 yy语法高亮上下文.txt,只供本次语法解析时解析导入。每个文件交由独立的豫言解析进程处理,单文件默认超过五秒即计为未覆盖并继续扫描;可设 YY_GRAMMAR_TIMEOUT_MS=20000 重查大文件。解析结果按源码、解析器可执行文件与上下文内容的摘要缓存在 .yybuild/语法高亮核验/,修改 grammar 后可重用解析结果。完整报告写入 yy语法高亮差异.json。解析失败、超时、类别不一致和对照失败分别计数;不会把未覆盖文件算作一致。

语义标记偏移按 Unicode 字符计,TextMate 偏移按 JavaScript UTF-16 码元计;比较端先建立转换表。比较的是 TextMate scope 所代表的着色类别,而非取决于用户主题的 RGB 值。只比较解析器实际标记且双方类别可对应的源码字符;未标记的空白等不算作已验证。解析器的括号、方括号和逗号属于普通操作符,TextMate 则称为标点;对照时统一为“标点”。跨行区域的换行符没有 TextMate token,不作为差异。每个差异须报告路径、行列、原文、解析器类别、TextMate 类别和原始 scope 栈。结果是待复核的高亮差异:若解析器分类或类别映射本身有误,须先修其来源。

依赖

查看包配置

上传历史

当前上传修订:1 ·

  1. 上传修订 1
    下载 ZIP

包层级

父包:开发工具

没有子包。