27.5KB 语言无关 WebGPU 语法高亮器
摘要
gpu-lexer 是一种基于 WebGPU 的语言无关语法高亮器,利用微型 AI 模型标注代码部分,无需预定义语法,提供新颖且注重性能的传统高亮器替代方案。
暂无内容
查看缓存全文
缓存时间: 2026/09/09 03:50
# 27.5KB 语言无关的 WebGPU 语法高亮器
来源:https://gpu-lexer.vercel.app/
```
import { highlight } from 'gpu-lexer'
const spans = await highlight('源代码')
// {
// type: 'plain' | 'comment' | 'string' | 'number' | 'keyword' | 'type' | 'function' | 'constant' | 'operator'
// start: number
// end: number
// }[]
```
gpu\-lexer 将源代码拆分为简单部分——单词、空格、换行符和符号。随后,一个微型 WebGPU 模型结合局部与整个文件的上下文信息,为每个部分打上标签。其设计目标是适用于任何语言:它无需选择特定语法,而是根据上下文猜测每个部分的类型,即使在训练期间从未见过该语言或语法。相邻的标签会被合并,最终返回给你的代码作为高亮显示范围。
这是一个实验性项目,并非等同于基于语法的高亮器。对于未参与训练的数据集,**当前模型的令牌标签与 Shiki 有 12\.57% 的差异**。此指标衡量的是与 Shiki 的一致性,而非客观正确性;对于未见过的语言或现实世界的代码,差异可能会更大。
**高亮 10× three\.min\.js 性能**
预热后浏览器运行时间 · 数值越低越好
测试于 2026 年 9 月 8 日,预热一次后的单次浏览器运行。输入是十个拼接的 three\.min\.js 文件 (https://unpkg.com/[email protected]/build/three.min.js)(共 5\.56M 字符)。测试环境:MacBook Pro,Apple M4 Pro,20 核 GPU,24GB 内存,macOS 26\.6\.2,Chrome 152。每个引擎在专用 worker 中运行;DOM 渲染被排除。gpu\-lexer 和 Shiki 返回令牌数据,Starry Night 返回 HAST 树,而 Sugar High、Prism\.js 和 Highlight\.js 返回高亮后的 HTML。版本:Sugar High 2\.3\.1,Prism\.js 1\.30\.0,Highlight\.js 11\.12\.0,Starry Night 3\.11\.0,Shiki 4\.4\.3。
**加载的库大小**
运行时 + 所选语言覆盖范围 · 数值越低越好
于 2026 年 9 月 8 日测量,经压缩(Brotli)和精简的浏览器包。主要 Web 语言包括 javascript、typescript、css、html、json 和 markdown。gpu\-lexer 对所有语言使用同一个包。Starry Night 的总大小包含其 Oniguruma WASM 负载。
**Top\-25 加权正确度**
按流行度加权的与 Shiki 的一致性 · 数值越高越好
Shiki 作为 100% 的参考基准。每个库的令牌名称被映射到相同的九个类别:plain、comment、string、number、keyword、type、function、constant 和 operator。得分基于 GitHub Innovation Graph (https://innovationgraph.github.com/global-metrics/programming-languages) 中 2026 年第一季度排名前 25 的语言,在 1,069 个保留文件中,根据每种语言的推送者数量进行加权,比较非空白源代码部分。不支持的语言得分为零;语料库大小不影响权重。
\[ 在线演示 \]
支持 75 种语言
react\.development\.js 0 字节
相似文章
@ctatedev: 微模型正在成为软件基础组件 这个27.5KB模型在您的浏览器中本地运行,为代码进行语法高亮...
一款名为gpu-lexer的微小27.5KB AI模型,来自Vercel Labs,在浏览器中使用WebGPU本地运行,无需预先了解即可为任何编程语言的代码进行语法高亮。
vgpu
vgpu 是一个针对 WebGPU 的 TypeScript 库,具有类型化着色器导入、一个轻量级的 GPU 优先 API,并兼容浏览器、无头 Node 和测试环境。
声明式WebGPU与S表达式
Pngine是一个用于WebGPU的声明式格式与运行时,它使用S表达式来简化WebGPU配置的声明与验证,支持跨平台共享,并能导出为HTML或嵌入运行时的PNG等格式。
@pauliusztin_: 我刚找到了理解 GPU 最实用的资源之一。再也不用在不同文档、PDF 和论坛帖子之间跳来跳去了…
Modal Labs 发布了一个开源的 GPU 术语词典,将零散的 NVIDIA 文档、CUDA 细节及编译器参数整合为单一的可导航资源,旨在帮助工程师优化 LLM 的训练与推理。
Bonsai 27B:使用自定义WebGPU内核在浏览器中本地运行的1比特密集型大语言模型
Bonsai 27B是一个1比特密集型大语言模型,通过使用自定义WebGPU内核可以在浏览器中本地运行,实现高效的设备端推理。