# @dskripchenko/syntax 中文文档

规范地址：https://npmcn.com/package/%40dskripchenko/syntax/

版本：0\.6\.0
npm 元数据更新时间：2026-11-03T20:43:04.209Z
中文译文更新时间：2026-11-12T22:40:27.614Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dskripchenko/syntax
原文对照：https://npmcn.com/package/%40dskripchenko/syntax/?lang=original
项目主页：https://github.com/dskripchenko/syntax#readme
源码仓库：https://github.com/dskripchenko/syntax

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：346 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：0 个
- 首次发布：2026-11-01T16:29:30.895Z
- 最新版本发布：2026-11-03T20:43:03.841Z
- 近 30 天下载量：3689（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

以零运行时间依赖性突出显示语法:17个编程语言(JavaScript, TypeScript, Python, Go, Rust, Java, Kotlin, C#, Swift, C, C++, PHP, Ruby, Lua, Shell, PowerShell, SQL) 和数据格式,标记和代码周围的文件(JSON, YAML)

## 安装

```sh
npm install @dskripchenko/syntax
```

也可以使用：`pnpm add @dskripchenko/syntax`、`yarn add @dskripchenko/syntax`、`bun add @dskripchenko/syntax`

## README

# @dskripchenko/语法

[![CI](https://github.com/dskripchenko/syntax/actions/workflows/ci.yml/badge.svg)](https://github.com/dskripchenko/syntax/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/@dskripchenko/syntax.svg)](https://www.npmjs.com/package/@dskripchenko/syntax) [![license](https://img.shields.io/npm/l/@dskripchenko/syntax.svg)](https://npmcn.com/package/%40dskripchenko/syntax/LICENSE)

用于编程语言、数据格式和文件的语法突出显示 环绕代码——与 **无运行时间依赖关系** 财务报告和审定财务报表 **没有DOM**字符串 中, HTML(或令牌)出自:在浏览器中,在服务器侧渲染中,在 节点脚本.

```ts
import { foldRanges, highlight, highlightLines, IncrementalHighlighter, languageOf, LineHighlighter, logEntries, THEME_CSS, validate } from '@dskripchenko/syntax'

const language = languageOf('server.rs') ?? 'text' // by name, extension or `#!` line
element.innerHTML = highlight(code, language) // <span class="sx-keyword">fn</span> …

// Line by line: for line numbers, or for drawing only the lines in view.
const lines = highlightLines(code, language)

// The colours: CSS custom properties, light and dark.
style.textContent = THEME_CSS

// What is wrong with a data file, and what can be folded.
validate('{"a": 1,}', 'json') // [{ line: 1, column: 9, message: 'expected a string key', severity: 'error' }]
foldRanges(code, language) // [{ start: 3, end: 10 }, …]

// A 100 MB log: only the lines in view are highlighted.
new LineHighlighter(text, 'log').html(1000, 1040)

// Text being edited: after an edit, tokenized again only until the state is back as it was.
const h = new IncrementalHighlighter(lines, language) // lines: { lineCount, lineText(i) }
h.edit(10, 12, 15) // lines 10–12 are now 10–15
h.tokens(0, 40)
logEntries(text) // [{ start: 2, end: 9, level: 'error' }, …]
```

**编程语言 :** JavaScript, TypeScript, Python, Go, Rust, Java, , , , , , , , Kotlin, C#, Swift, C, C++, PHP, Ruby, Lua, 壳牌, PowerShell, SQL.

**格式和围绕代码的文件 :** JSON(附评论,JSON线路), YAML, XML( SVG, plists, project 文件), HTML( 及其脚本和样式),, CSS(SCSS, 减), TOML, INI, `.env`, CSV/TSV, LaTeX, Markdown (栅栏区块位于 他们的语言,TeX数学, `==highlights==`),diff,日志(级别,时间,堆栈痕迹),多克文件,Make文件, 图QL,协议缓冲,HTTP.

**验证** 和 JSON 的行、 列和信件( 收缩, 有 注释, JSON 线条), YAML, XML, TOML, CSV/TSV, INI 和 `.env`· ; **折叠** 由括号、标记、缩进或标题; **大文件** 突出显示a 一次窗口; **正在编辑的文本** 仅以 编辑修改; **日志** 读取为与其级别相关的条目.

## 它的承诺

-   **文字如实回向.** 信使的文本加入 提供了输入, 字节的字节, 不管输入是什么.
-   **线性时间.** 没有结束,没有巢穴,任何模式都无法回溯 无约束:测试套房投放病理输入(千人) 引用,鞭打,开括号)每种语言. 在真实的代码上运行 约20 MB/s.
-   **逃出输出.** `highlight()` 避开文本的每块; HTML 在 代码显示为文本.
-   **小一点.** 一个大约32 KB gziped (在您的捆绑器缩小前) 模块 包括每种语言和检查器.

对于代码,它是一个亮点,而不是一个编译器:它读取代码的形状 ——文字,字符串,评论,数字,名字——足够读取,以及 中不报告语法错误; 数据格式被验证.

## 文档

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| 开始:API、语言、主题、自己的语法 | [内](https://npmcn.com/package/%40dskripchenko/syntax/docs/en/getting-started.md) | [吕](https://npmcn.com/package/%40dskripchenko/syntax/docs/ru/getting-started.md) | [页:1](https://npmcn.com/package/%40dskripchenko/syntax/docs/de/getting-started.md) | [日语](https://npmcn.com/package/%40dskripchenko/syntax/docs/zh/getting-started.md) |

## 安装

```bash
npm install @dskripchenko/syntax
```

## 许可证

[麻省理工学院](https://npmcn.com/package/%40dskripchenko/syntax/LICENSE)

## 常见问题

### @dskripchenko/syntax 是什么？

以零运行时间依赖性突出显示语法:17个编程语言\(JavaScript, TypeScript, Python, Go, Rust, Java, Kotlin, C\#, Swift, C, C\+\+, PHP, Ruby, Lua, Shell, PowerShell, SQL\) 和数据格式,标记和代码周围的文件\(JSON, YAML\)

### 如何安装 @dskripchenko/syntax？

在项目目录运行 npm install @dskripchenko/syntax，或使用 pnpm add / yarn add / bun add。

### @dskripchenko/syntax 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dskripchenko/syntax 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dskripchenko/syntax 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @dskripchenko/syntax 可以商用吗？

@dskripchenko/syntax 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @dskripchenko/syntax 的下载量有多少？

根据 npm 官方下载统计，@dskripchenko/syntax 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,689 次，日均约 123 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dskripchenko/syntax 还在维护吗？

最新版本 0\.6\.0 发布于 2026/11/04（9 天前）；至今共发布 12 个版本，其中过去 12 个月发布了 12 个；首次发布于 2026/11/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

