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 字节
相似文章
声明式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内核可以在浏览器中本地运行,实现高效的设备端推理。
WebGPU实战教程
一本免费的互动书籍,教授使用JavaScript和WebGPU进行图形编程,涵盖从基础到高级主题,如GPU计算和高斯泼溅(Gaussian splatting)。
介绍 @huggingface/kernels:200 多个 WebGPU 内核用于本地 AI
Hugging Face 发布 207 个 WebGPU 内核,用于浏览器中的本地 AI 推理,并附带一个 JavaScript 加载器库和名为 Fleet 的基准测试工具。