# @bhsd/codemirror-mediawiki 中文文档

规范地址：https://npmcn.com/package/%40bhsd/codemirror-mediawiki/

版本：4\.8\.1
npm 元数据更新时间：2026-11-08T11:52:17.680Z
中文译文更新时间：2026-11-08T14:52:08.827Z
软件包许可：GPL-2\.0-or-later

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

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

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

- 包体积（解压后）：2.9 MB，99 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：13 个
- peer 依赖：@codemirror/lint ^6\.7\.0，@codemirror/view ^6\.39\.0，@codemirror/state ^6\.0\.0，@codemirror/search ^6\.4\.0，@codemirror/commands ^6\.5\.0，@codemirror/lang-css ^6\.0\.0，@codemirror/lang-vue \>=0\.1\.2，@codemirror/language ^6\.3\.0，@codemirror/lang-html ^6\.0\.0，@codemirror/autocomplete ^6\.9\.0，@codemirror/legacy-modes ^6\.0\.0，@codemirror/lang-javascript ^6\.1\.0
- 首次发布：2023-05-17T05:39:14.757Z
- 最新版本发布：2026-11-08T11:52:17.528Z
- 近 30 天下载量：1772（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：258（近 12 个月 56 个）

## 中文简介

基于wikimedia/mediawiki-extension-CodeMiror的已修改的代码Miror模式

## 安装

```sh
npm install @bhsd/codemirror-mediawiki
```

也可以使用：`pnpm add @bhsd/codemirror-mediawiki`、`yarn add @bhsd/codemirror-mediawiki`、`bun add @bhsd/codemirror-mediawiki`

## README

# @bhsd/codemirror-mediawiki (英语)

[![npm version](https://badge.fury.io/js/@bhsd%2Fcodemirror-mediawiki.svg)](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) [![CodeQL](https://github.com/bhsd-harry/codemirror-mediawiki/actions/workflows/codeql.yml/badge.svg)](https://github.com/bhsd-harry/codemirror-mediawiki/actions/workflows/codeql.yml) [![NPM downloads](https://img.shields.io/npm/dm/%40bhsd%2Fcodemirror-mediawiki)](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) [![jsDelivr hits (npm scoped)](https://img.shields.io/jsdelivr/npm/hm/%40bhsd/codemirror-mediawiki)](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/972fd5f6684c4fd8ac2f26e01d349948)](https://app.codacy.com/gh/bhsd-harry/codemirror-mediawiki/dashboard)

此寄存器包含前端脚本和样式的修改版本 从 [MediaWiki 扩展代码Mirror](https://www.mediawiki.org/wiki/Extension:CodeMirror)。 。 。 . 目标是支持在以下两个方面实现独立的一体化: [代码](https://codemimrror.net/) 财务报告和审定财务报表 [维基文库](https://www.mediawiki.org/wiki/Wikitext),不需要一个 [MediaWiki 环境](https://doc.wikimedia.org/mediawiki-core/master/js/)。 。 。 .

这里有一个 [演示](https://bhsd-harry.github.io/codemirror-mediawiki)改为: 使用 RTL( 从右到左) 支持进行实验, 您可以附加 `?rtl=1` 页:1 URL (中文(简体) ).

不过,该储存库还提供了定制版本,并增加了 用于MediaWiki网站的功能。 浏览器编辑工具, 如 [维基百科](https://www.npmjs.com/package/wikiplus-highlight) 还有一个 [InPageEdit 插件](https://github.com/inpageedit/Plugins/blob/master/src/plugins/code-mirror/cm6.js) 是建立在它之上的。 请参见单独的 [读取](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/mw/README.md) 文件为 情报.

如果您只是寻找 CodeMiror 6 语言模式和语言支持 media Wiki Wikitext 的扩展名, 您可以使用 [@bhsd/codemirror-wikitext (英语)](https://www.npmjs.com/package/@bhsd/codemirror-wikitext) 换句话说.

扩展

-   [安装](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-installation)
-   [浏览器使用](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-browser-usage)
-   [语言模式](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-language-modes)
    -   [虐待过滤器](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-abusefilter)
    -   [密码](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-css)
    -   [(简体中文)](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-html)
    -   [日记](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-javascript)
    -   [乔森](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-json)
    -   [简克](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-jsonc)
    -   [卢亚](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-lua)
    -   [媒体wiki](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki)
    -   [声音](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-vue)
    -   [其他语文](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-other-languages)
-   [主题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-themes)
    -   [光线](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-light)
    -   [诺德](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-nord)
    -   [其他主题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-other-themes)
-   [构造器](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-constructor)
-   [访问者](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-accessors)
    -   [方言](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-dialect)
    -   [朗语](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-lang)
    -   [文本区域](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-textarea)
    -   [视图](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-view)
    -   [可见](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-visible)
-   [方法](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-methods)
    -   [清除客户端](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-clearcustomhighlight)
    -   [自定义](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-customhighlight)
    -   [销毁](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-destroy)
    -   [额外键](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extrakeys)
    -   [获取线条](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-getlinter)
    -   [获取节点](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-getnodeat)
    -   [初始化](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-initialize)
    -   [线性](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-lint)
    -   [本地化](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-localize)
    -   [首选项](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-prefer)
    -   [替换选择](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-replaceselections)
    -   [滚动到](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-scrollto)
    -   [设置相册指南](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-setcolumnguide)
    -   [设置](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-setcontent)
    -   [设置缩进](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-setindent)
    -   [设置语言](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-setlanguage)
    -   [线程绘制](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-setlinewrapping)
    -   [设置主题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-settheme)
    -   [切换](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-toggle)
    -   [更新](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-update)
-   [静态连接器](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-static-accessors)
    -   [光盘N](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-cdn)
-   [静态方法](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-static-methods)
    -   [获取MwConfig](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-getmwconfig)
    -   [替换选择](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-replaceselections-static)
-   [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)
    -   [允许复选](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-allowmultipleselections)
    -   [自动补全](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-autocompletion)
    -   [隔离](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-bidiisolates)
    -   [块显示器](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-blockcursor)
    -   [括号匹配](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-bracketmatching)
    -   [关闭括号](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-closebrackets)
    -   [关闭标签](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-closetags)
    -   [代码折叠](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-codefolding)
    -   [颜色选择器](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-colorpicker)
    -   [逃脱](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-escape)
    -   [突出显示活动线](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-highlightactiveline)
    -   [突出显示选题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-highlightselectionmatches)
    -   [突出显示特殊聊天](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-highlightspecialchars)
    -   [突出显示显示白空间](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-highlighttrailingwhitespace)
    -   [突出显示白空间](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-highlightwhitespace)
    -   [盘旋](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-hover)
    -   [缩进指南](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-indentguide)
    -   [内置提示](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-inlayhints)
    -   [打开链接](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-openlinks)
    -   [转发](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-refhover)
    -   [滚动末端](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-scrollpastend)
    -   [签名帮助](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-signaturehelp)
    -   [粘相滚动](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-stickyscroll)
-   [已知问题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-known-issues)
    -   [语法突出显示](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-syntax-highlighting)

## 安装

您可以通过 npm 安装软件包并作为模块导入 :

```bash
npm install @bhsd/codemirror-mediawiki
```

```js
import {
    CodeMirror6,
    registerMediaWiki,
    registerHTML,
    registerCSS,
    registerJavaScript,
    registerJSON,
    registerJSONC,
    registerLua,
    registerVue,
    registerAbuseFilter,
} from '@bhsd/codemirror-mediawiki';
```

## 浏览器使用

扩展

您可以通过 CDN 下载代码, 例如 :

```js
// static import
import {
    CodeMirror6,
    registerMediaWiki,
    registerHTML,
    registerCSS,
    registerJavaScript,
    registerJSON,
    registerJSONC,
    registerLua,
    registerVue,
    registerAbuseFilter,
} from 'https://cdn.jsdelivr.net/npm/@bhsd/codemirror-mediawiki';
```

或者说

```js
import {
    CodeMirror6,
    registerMediaWiki,
    registerHTML,
    registerCSS,
    registerJavaScript,
    registerJSON,
    registerJSONC,
    registerLua,
    registerVue,
    registerAbuseFilter,
} from 'https://unpkg.com/@bhsd/codemirror-mediawiki/dist/main.min.js';
```

或者说

```js
// dynamic import
const {
    CodeMirror6,
    registerMediaWiki,
    registerHTML,
    registerCSS,
    registerJavaScript,
    registerJSON,
    registerJSONC,
    registerLua,
    registerVue,
    registerAbuseFilter,
} = await import('https://cdn.jsdelivr.net/npm/@bhsd/codemirror-mediawiki');
```

或者说

```js
const {
    CodeMirror6,
    registerMediaWiki,
    registerHTML,
    registerCSS,
    registerJavaScript,
    registerJSON,
    registerJSONC,
    registerLua,
    registerVue,
    registerAbuseFilter,
} = await import('https://unpkg.com/@bhsd/codemirror-mediawiki/dist/main.min.js');
```

## 语言模式

### 虐待过滤器

_添加: 3.1.0_

扩展

你可以捆起来 [虐待问题](https://www.mediawiki.org/wiki/Extension:AbuseFilter) 通过导入 `registerAbuseFilter` 函数 :

```js
import {registerAbuseFilter} from '@bhsd/codemirror-mediawiki';
registerAbuseFilter();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerAbuseFilterCore` 函数和想要的扩展名:

```js
import {registerAbuseFilterCore} from '@bhsd/codemirror-mediawiki';
registerAbuseFilterCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)这里有一些 虐待Filter特有扩展. 请注意,这些延长不得生效 如果对应的普通扩展未注册 :

```js
import {
    registerHoverForAbuseFilter,
    registerSignatureHelpForAbuseFilter,
    registerOpenLinksForNonMediaWiki,
} from '@bhsd/codemirror-mediawiki';
registerHoverForAbuseFilter();
registerSignatureHelpForAbuseFilter();
registerOpenLinksForNonMediaWiki();
```

### 密码

扩展

CSS模式包含一个 [方言](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-dialect) 页:1 [扩展: 模板样式](https://www.mediawiki.org/wiki/Extension:TemplateStyles)。 。 。 . 您可以通过导入 CSS 模式来捆绑 `registerCSS` 函数 :

```js
import {registerCSS} from '@bhsd/codemirror-mediawiki';
registerCSS();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerCSSCore` 函数和想要的扩展名:

```js
import {registerCSSCore} from '@bhsd/codemirror-mediawiki';
registerCSSCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)这里有一些CSS的特异性 扩展。 请注意,这些延长不得在下列情况下生效: 普通扩展未注册 :

```js
import {
    registerColorPickerForCSS,
    registerOpenLinksForNonMediaWiki,
} from '@bhsd/codemirror-mediawiki';
registerColorPickerForCSS();
registerOpenLinksForNonMediaWiki;
```

### (简体中文)

扩展

这是混合媒体Wiki-HTML模式,用于 [扩展: 部件](https://www.mediawiki.org/wiki/Extension:Widgets)。 。 。 . 您可以通过导入 HTML 模式来捆绑 `registerHTML` 函数 :

```js
import {registerHTML} from '@bhsd/codemirror-mediawiki';
registerHTML();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerHTMLCore` 函数和想要的扩展名:

```js
import {registerHTMLCore} from '@bhsd/codemirror-mediawiki';
registerHTMLCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions),这里有一些 HTML 特定 扩展。 请注意,这些延长不得在下列情况下生效: 普通扩展未注册 :

```js
import {
    registerBracketMatchingForHTML,
    registerCloseTagsForHTML,
    registerColorPickerForHTML,
    registerOpenLinksForNonMediaWiki,
} from '@bhsd/codemirror-mediawiki';
registerBracketMatchingForHTML();
registerCloseTagsForHTML();
registerColorPickerForHTML();
registerOpenLinksForNonMediaWiki();
```

### 日记

扩展

您可以导入 JavaScript 模式 `registerJavaScript` 函数 :

```js
import {registerJavaScript} from '@bhsd/codemirror-mediawiki';
registerJavaScript();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerJavaScriptCore` 函数和想要的扩展名:

```js
import {registerJavaScriptCore} from '@bhsd/codemirror-mediawiki';
registerJavaScriptCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)这里有一些 JavaScript特定扩展. 请注意,这些延长不得生效 如果对应的普通扩展未注册 :

```js
import {
    registerBracketMatchingForJavaScript,
    registerOpenLinksForNonMediaWiki,
} from '@bhsd/codemirror-mediawiki';
registerBracketMatchingForJavaScript();
registerOpenLinksForNonMediaWiki();
```

### 乔森

扩展

您可以通过导入 JSON 模式来捆绑 `registerJSON` 函数 :

```js
import {registerJSON} from '@bhsd/codemirror-mediawiki';
registerJSON();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerJSONCore` 函数和想要的扩展名:

```js
import {registerJSONCore} from '@bhsd/codemirror-mediawiki';
registerJSONCore();
```

### 简克

扩展

您可以通过导入 JSONC 模式来捆绑 `registerJSONC` 函数 :

```js
import {registerJSONC} from '@bhsd/codemirror-mediawiki';
registerJSONC();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerJSONCCore` 函数和想要的扩展名:

```js
import {registerJSONCCore} from '@bhsd/codemirror-mediawiki';
registerJSONCCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)这是JSONC特制的 扩展。 请注意,这些延长不得在下列情况下生效: 普通扩展未注册 :

```js
import {registerOpenLinksForNonMediaWiki} from '@bhsd/codemirror-mediawiki';
registerOpenLinksForNonMediaWiki();
```

### 卢亚

扩展

您可以导入 Lua 模式 `registerLua` 函数 :

```js
import {registerLua} from '@bhsd/codemirror-mediawiki';
registerLua();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerLuaCore` 函数和想要的扩展名:

```js
import {registerLuaCore} from '@bhsd/codemirror-mediawiki';
registerLuaCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)这里有一些Lua特有的 扩展。 请注意,这些延长不得在下列情况下生效: 普通扩展未注册 :

```js
import {registerOpenLinksForNonMediaWiki} from '@bhsd/codemirror-mediawiki';
registerOpenLinksForNonMediaWiki();
```

### 媒体wiki

扩展

您可以通过导入 : `registerMediaWiki` 函数 :

```js
import {registerMediaWiki} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerMediaWiki('https://www.mediawiki.org/wiki/');
```

MediaWiki模式为快速格式化提供了以下密钥绑定:

-   `Ctrl` + 键 `0`平面段落
-   `Ctrl` + 键 `1-6`: 标题1至6
-   `Ctrl` + 键 `7`: 格式化文本
-   `Ctrl` + 键 `8`: 块引号
-   `Ctrl`编号 :`Cmd` + 键 `/`: 注释
-   `Ctrl`编号 :`Cmd` + 键 `.`: 上标
-   `Ctrl`编号 :`Cmd` + 键 `,`: 下标
-   `Ctrl`编号 :`Cmd` + 键 `B`粗体显示
-   `Ctrl`编号 :`Cmd` + 键 `I`: 斜体
-   `Ctrl`编号 :`Cmd` + 键 `U`: 下划线
-   `Ctrl`编号 :`Cmd` + 键 `K`: 维基链接
-   `Ctrl` + 键 `Shift` + 键 `5`: 切换
-   `Ctrl`编号 :`Cmd` + 键 `Shift` + 键 `6`: 内置代码
-   `Ctrl`编号 :`Cmd` + 键 `Shift` + 键 `K`校正标签

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerMediaWikiCore` 函数和想要的扩展名:

```js
import {registerMediaWikiCore} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerMediaWikiCore('https://www.mediawiki.org/wiki/');
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)这里有一些 MediaWiki特定扩展. 请注意,如果 对应的普通扩展未注册 :

```js
import {
    registerColorPickerForMediaWiki,
    registerBracketMatchingForMediaWiki,
    registerCodeFoldingForMediaWiki
} from '@bhsd/codemirror-mediawiki';
registerColorPickerForMediaWiki();
registerBracketMatchingForMediaWiki();
registerCodeFoldingForMediaWiki();
```

### 声音

扩展

您可以导入 Vue 模式 `registerVue` 函数 :

```js
import {registerVue} from '@bhsd/codemirror-mediawiki';
registerVue();
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerVueCore` 函数和想要的扩展名:

```js
import {registerVueCore} from '@bhsd/codemirror-mediawiki';
registerVueCore();
```

除常见外 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions),这里有一些 Vue 特定的 扩展。 请注意,这些延长不得在下列情况下生效: 普通扩展未注册 :

```js
import {
    registerBracketMatchingForVue,
    registerCloseTagsForVue,
    registerColorPickerForVue,
    registerOpenLinksForNonMediaWiki,
} from '@bhsd/codemirror-mediawiki';
registerBracketMatchingForVue();
registerCloseTagsForVue();
registerColorPickerForVue();
registerOpenLinksForNonMediaWiki();
```

### 其他语文

扩展

您也可以通过导入其它语言来注册 `registerLanguage` 函数 :

```js
import {registerLanguage} from '@bhsd/codemirror-mediawiki';
import {python} from '@codemirror/lang-python';
registerLanguage('python', python);
```

如果您想要对扩展进行更微粒的控制, 您可以导入 `registerLanguageCore` 函数和想要的扩展名:

```js
import {registerLanguageCore} from '@bhsd/codemirror-mediawiki';
import {python} from '@codemirror/lang-python';
registerLanguageCore('python', python);
```

## 主题

### 光线

这是默认主题,它是一个轻度主题.

### 诺德

扩展

这是一个黑暗的主题 由 [松山拓也](https://www.npmjs.com/package/cm6-theme-nord) 财务报告和审定财务报表 [第233页](https://zh.moegirl.org.cn/User:%E9%AC%BC%E5%BD%B1233/Nord)您需要吗 在使用前先登记此主题:

```js
import {registerTheme, nord} from '@bhsd/codemirror-mediawiki';
registerTheme('nord', nord);
```

### 其他主题

扩展

您也可以通过导入其它主题来注册 `registerTheme` 函数 :

```js
import {registerTheme} from '@bhsd/codemirror-mediawiki';
import {oneDark} from '@codemirror/theme-one-dark';
registerTheme('one-dark', oneDark);
```

## 构造器

扩展

**段落**数字 : `HTMLTextAreaElement` 要替换的文本区域元素 代码  
**段落**数字 : `string` 语言模式,默认为纯文本  
**段落**数字 : `unknown` 语言配置,仅用于 [媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki) 模式和模式 [混合介质Wiki-HTML](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-html) 模式  
**段落**数字 : `boolean` 是否立即初始化,默认为真实

```js
let cm;
cm = new CodeMirror6(textarea); // plain text
cm = new CodeMirror6(textarea, 'mediawiki', mwConfig);
cm = new CodeMirror6(textarea, 'html', mwConfig);
cm = new CodeMirror6(textarea, 'css');
cm = new CodeMirror6(textarea, 'javascript');
cm = new CodeMirror6(textarea, 'json');
cm = new CodeMirror6(textarea, 'jsonc');
cm = new CodeMirror6(textarea, 'lua');
cm = new CodeMirror6(textarea, 'vue');
cm = new CodeMirror6(textarea, 'abusefilter', dialect);
```

## 访问者

### 方言

扩展

_增加:2.28.0_

**类型**数字 : `'sanitized-css' | undefined`  
仅用于 [扩展: 模板样式](https://www.mediawiki.org/wiki/Extension:TemplateStyles) 作为CSS模式的一种方言.

### 朗语

扩展

_添加:2.0.14_

**类型**数字 : `string`  
当前语言模式,只读.

### 文本区域

扩展

**类型**数字 : `HTMLTextAreaElement`  
文本区域元素被 CodeMirror所取代, 只读 .

### 视图

扩展

**类型**数字 : [`EditorView | undefined`](https://codemirror.net/6/docs/ref/#view.EditorView)  
CodeMiror编辑器View实例,只读.

### 可见

扩展

_添加:2.1.3_

**类型**数字 : `boolean`  
编辑器是否可见,只读 .

## 方法

### 清除客户端

扩展

_增加:3.13.1_

删除所有自定义语法加亮样式 [`customHighlight`](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-customhighlight)。 。 。 .

```js
cm.clearCustomHighlight();
```

### 自定义

扩展

_增加:3.13.1_

添加自定义语法突出显示样式 。 此方法对所有非媒体Wiki有效 模式。 您可以多次调用这种方法来添加不同的样式, 使用 后期风格具有较高的优先级.

自定义样式的优先级高于 [主题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-themes) 样式,和 光-mode/dark-mode自定义样式的优先权高于常见自定义样式.

```js
cm.customHighlight([
    {
        tag: ['string', 'number'],
        color: 'red',
    },
    {
        tag: 'string.special',
        class: 'cm-special-string',
    },
]);
cm.customHighlight(
    {
        tag: ['variableName.definition'],
        fontWeight: 'bold',
    },
    'dark',
);
```

### 销毁

扩展

_添加:2.28.2_

摧毁这个案例。 这种方法不可撤销,不建议采用一般方法 使用时。 相反,你应该打电话给 [`toggle`](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-toggle) 隐藏编辑器的方法.

```js
cm.destroy();
```

### 额外键

扩展

_添加:2.2.2_

**段落**数字 : [`KeyBinding[]`](https://codemirror.net/docs/ref/#view.KeyBinding) 额外的密钥绑定  
添加额外的密钥绑定 。 需要先初始化 .

```js
cm.extraKeys([
    {key: 'Tab', run: () => console.log('Tab'), preventDefault: true},
]);
```

### 获取线条

扩展

_添加:2.1.3_

**段落**数字 : `Record<string, any>` 可选的线条配置  
**返回时**数字 : `Promise<(state: EditorState) => Diagnostic[] | Promise<Diagnostic[]>>`  
获得默认的 Linting 函数,该函数可用作参数 [`lint`](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-lint)。 。 。 .

```js
const linter = await cm.getLinter(); // default linter configuration
const linterMediawiki = await cm.getLinter({include: true, i18n: 'zh-hans'}); // wikilint configuration
const linterJavaScript = await cm.getLinter({env, parserOptions, rules}); // ESLint configuration
const linterCSS = await cm.getLinter({rules}); // Stylelint configuration
```

### 获取节点

扩展

_添加:2.4.2_

**段落**数字 : `number` 职位  
**段落**数字 : [`-1 | 0 | 1`](https://lezer.codemirror.net/docs/ref/#common.Tree.resolve) 侧, 可选  
**返回时**数字 : [`SyntaxNode | undefined`](https://lezer.codemirror.net/docs/ref/#common.SyntaxNode)  
获取指定位置和侧面的语法节点.

```js
const tree = cm.getNodeAt(0);
```

### ưμ㼯A

扩展

_增加了版本: 3.2.0_

**段落**数字 : `string` 扩展名  
**返回时**数字 : `boolean`  
检查编辑器是否允许给定扩展 .

```js
const hasAutocompletion = cm.hasPreference('autocompletion');
```

### 初始化

扩展

_添加:2.11.1_

**段落**数字 : `unknown` 可选语言配置  
初始化编辑器.

```js
cm.initialize();
```

### 线性

扩展

**段落**数字 : `(state: EditorState) => Diagnostic[] | Promise<Diagnostic[]>` 页:1 启动函数  
设置起伏函数 .

```js
cm.lint(({doc}) => [
    /**
     * @type {Diagnostic}
     * @see https://codemirror.net/docs/ref/#lint.Diagnostic
     */
    {
        from: 0,
        to: doc.toString().length,
        message: 'error message',
        severity: 'error',
    },
]);
```

### 本地化

扩展

_添加: 2.3.3_

**段落**数字 : `Record<string, string>` 本地化表格  
设置本地化表.

```js
cm.localize({
    'Find': '查找',
});
```

### 首选项

扩展

_添加:2.0.9_

**段落**数字 : `string[] | Record<string, boolean>` 页:1 [扩展](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions) 改为 启用  
设置首选的 CodeMiror 扩展 。 引入可用的扩展 [待会](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-extensions)。 。 。 .

```js
cm.prefer([
    'allowMultipleSelections',
    'autocompletion',
    'bracketMatching',
    'closeBrackets',
    'closeTags',
    'codeFolding',
    'highlightActiveLine',
    'highlightSelectionMatches',
    'highlightSpecialChars',
    'highlightTrailingWhitespace',
    'highlightWhitespace',
    'scrollPastEnd',

    // only available in CSS and MediaWiki modes
    'colorPicker',

    // only available in MediaWiki mode
    'escape',
    'hover',
    'inlayHints',
    'openLinks',
    'refHover',
    'signatureHelp',
]);
cm.prefer({
    allowMultipleSelections: false,
    autocompletion: false,
    bracketMatching: false,
    closeBrackets: false,
    closeTags: false,
    codeFolding: false,
    highlightActiveLine: false,
    highlightSelectionMatches: false,
    highlightSpecialChars: false,
    highlightTrailingWhitespace: false,
    highlightWhitespace: false,
    scrollPastEnd: false,

    // only available in CSS and MediaWiki modes
    colorPicker: false,

    // only available in MediaWiki mode
    escape: false,
    hover: false,
    inlayHints: false,
    openLinks: false,
    refHover: false,
    signatureHelp: false,
});
```

### 替换选择

扩展

_增加版本:3.9.0_

**段落**数字 : `(str: string, range: {from: number, to: number}) => string | [string, number, number?]` 替换功能  
以替换函数的返回值替换所选文本.

```js
cm.replaceSelections(str => str.toUpperCase());
```

### 滚动到

扩展

_增加:2.6.2_

**段落**数字 : [`number | {anchor: number, head: number}`](https://codemirror.net/docs/ref/#state.SelectionRange.anchor) 滚动到、默认为当前光标位置的位置或范围  
向给定位置或范围滚动 。 需要先初始化 .

```js
cm.scrollTo();
```

### 设置相册指南

扩展

_添加: 3.1.5.0_

**段落**数字 : `number` 显示导线的列号,或 禁用 0 列导

```js
cm.setColumnGuide(80);
```

### 设置

扩展

_增加了版本:2.1.8_

**段落**数字 : `string` 新内容  
**段落**数字 : `boolean` 是否强制将内容设置在只读 模式,默认为虚假  
重置编辑器的内容 。 需要先初始化 .

```js
cm.setContent('');
```

### 设置缩进

扩展

_添加:2.0.9_

**段落**数字 : `string | number` 缩进字符串或空格数, 默认为标签  
设置缩进字符串.

```js
cm.setIndent(2);
cm.setIndent('  ');
cm.setIndent('\t');
```

### 设置语言

扩展

**段落**数字 : `string` 语言模式,默认为纯文本  
**段落**数字 : `unknown` 语言配置,仅用于 [媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki) 模式和模式 [混合介质Wiki-HTML](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-html) 模式  
设置语言模式 .

```js
cm.setLanguage('mediawiki', mwConfig);
cm.setLanguage('html', mwConfig);
cm.setLanguage('css');
cm.setLanguage('javascript');
cm.setLanguage('json');
cm.setLanguage('jsonc');
cm.setLanguage('lua');
cm.setLanguage('vue');
cm.setLanguage('abusefilter', dialect);
```

### 线程绘制

扩展

_增加:2.28.0_

**段落**数字 : `boolean` 是否启用行包  
在行包与无行包之间切换.

```js
cm.setLineWrapping(false);
cm.setLineWrapping(true);
```

### 设置主题

扩展

_添加:3.3.0_

**段落**数字 : `string` 主题名称  
设置编辑器的主题 。 默认主题是 [`light`](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-light),其他 主题需要使用 `registerTheme` 函数第一个 :

```js
import {registerTheme, nord} from '@bhsd/codemirror-mediawiki';
registerTheme('nord', nord);
cm.setTheme('nord');
```

### 切换

扩展

_添加:2.1.3_

**段落**数字 : `boolean` 是否显示编辑器, 可选  
在 CodeMirror 编辑器和本地文本区之间切换 。 需求 初始化为先.

```js
cm.toggle();
cm.toggle(true); // show CodeMirror
cm.toggle(false); // hide CodeMirror
```

### 更新

扩展

立即刷新内衣.

```js
cm.update();
```

## 静态连接器

### 光盘N

扩展

_增加了版本:3.8.0_

**类型**数字 : `string`  
默认情况下,诸如 [维基百科-节点](https://www.npmjs.com/package/wikiparser-node) 从 `fastly.jsdelivr.net`。您可以改变 [jsDelivr CDN 请检查url=值 (帮助)](https://www.jsdelivr.com/network) 设置此属性.

```js
CodeMirror6.CDN = 'https://cdn.jsdelivr.net';
```

## 静态方法

### 获取MwConfig

扩展

_增加版本:2.4.7_

**段落**数字 : [`Config`](https://github.com/bhsd-harry/wikiparser-node/wiki/types#config) 页:1 [维基语录](https://www.npmjs.com/package/wikilint) 配置  
**返回时**数字 : `MwConfig`  
从WikiLint配置中衍生出MediaWiki模式的配置.

```js
const mwConfig = CodeMirror6.getMwConfig(config);
```

### 替换选择( 静态)

扩展

_添加:2.2.2_

**段落**数字 : [`EditorView`](https://codemirror.net/6/docs/ref/#view.EditorView) 代码Mirror 编辑器实例  
**段落**数字 : `(str: string, range: {from: number, to: number}) => string | [string, number, number?]` 替换功能  
以替换函数的返回值替换所选文本.

```js
CodeMirror6.replaceSelections(cm.view, str => str.toUpperCase());
```

## 扩展

### 允许复选

扩展

_增加了版本:2.1.11_

允许多个选择 。 此扩展还可以通过 压住 `Alt` 键.

对于捆绑的扩展的颗粒控制,您可以导入 `registerAllowMultipleSelections` 函数 :

```js
import {registerAllowMultipleSelections} from '@bhsd/codemirror-mediawiki';
registerAllowMultipleSelections();
```

### 自动补全

扩展

_增加:2.5.1_

提供自动补全 .

密钥绑定 :

-   `Shift` + 键 `Enter`: 触发自动补全
-   `Tab`: 接受所选建议

对于捆绑的扩展的颗粒控制,您可以导入 `registerAutocompletion` 函数 :

```js
import {registerAutocompletion} from '@bhsd/codemirror-mediawiki';
registerAutocompletion();
```

### 隔离

扩展

_添加: 3.1.0_

当 Wikitext 包含从右到左文本时,将双向文本从 周围文本.

此扩展不包含在 [`mediawiki`](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki) 语言支持 默认。 您需要导入 `registerBidiIsolates` 函数 :

```js
import {registerBidiIsolates} from '@bhsd/codemirror-mediawiki';
registerBidiIsolates();
```

### 块显示器

扩展

_增加:3.16.0_

将光标显示为块 .

对于捆绑的扩展的颗粒控制,您可以导入 `registerBlockCursor` 函数 :

```js
import {registerBlockCursor} from '@bhsd/codemirror-mediawiki';
registerBlockCursor();
```

### 括号匹配

扩展

_添加:2.0.9_

匹配或未匹配的括号或标记以青色或暗红色突出显示 光标在它们旁边.

对于捆绑的扩展的颗粒控制,您可以导入 `registerBracketMatching` 函数 :

```js
import {registerBracketMatching} from '@bhsd/codemirror-mediawiki';
registerBracketMatching();
```

### 关闭括号

扩展

_添加:2.0.9_

自动关闭括号`{`, (中文(简体) ), `[` 财务报告和审定财务报表 `(`)和引文(英文:`"`,以及 `'` 除外 为MediaWiki模式).

对于捆绑的扩展的颗粒控制,您可以导入 `registerCloseBrackets` 函数 :

```js
import {registerCloseBrackets} from '@bhsd/codemirror-mediawiki';
registerCloseBrackets();
```

### 关闭标签

扩展

_添加:3.12.0_

自动关闭 HTML/XML 标记 .

对于捆绑的扩展的颗粒控制,您需要注册这个 特定语言的扩展名( e)[HTML 语言](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-html), (中文(简体) ), [媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki) 或者说 [阴道](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-vue):

```js
import {
    registerCloseTagsForHTML,
    registerCloseTagsForMediaWiki,
    registerCloseTagsForVue,
} from '@bhsd/codemirror-mediawiki';
registerCloseTagsForHTML();
registerCloseTagsForMediaWiki();
registerCloseTagsForVue();
```

### 代码折叠

扩展

_添加:2.3.0_

在 MediaWiki 中打印段落、模板、解析函数和扩展标签 模式,以及其它模式中的代码块.

密钥绑定 :

-   `Ctrl` + 键 `Shift` + 键 `[`编号 :`Cmd` + 键 `Alt` + 键 `[`: 在所选文本上显示
-   `Ctrl` + 键 `Shift` + 键 `]`编号 :`Cmd` + 键 `Alt` + 键 `]`: 所选文本去掉文件夹
-   `Ctrl` + 键 `Alt` + 键 `[`: 全部折叠
-   `Ctrl` + 键 `Alt` + 键 `]`: 全部撤销
-   `Ctrl` + 键 `Alt` + 键 `.`: 全部折叠 `<ref>` 标记

对于捆绑的扩展的颗粒控制,您可以导入 `registerCodeFolding` 函数 :

```js
import {registerCodeFolding} from '@bhsd/codemirror-mediawiki';
registerCodeFolding();
```

### 颜色选择器

扩展

_增加版本:2.18.0_

为 CSS 和 MediaWiki 模式提供取色器 .

对于捆绑的扩展的颗粒控制,您需要注册这个 特定语言的扩展名( e)[支助科](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-css), (中文(简体) ), [HTML 语言](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-html), (中文(简体) ), [媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki) 或者说 [阴道](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-vue):

```js
import {
    registerColorPickerForCSS,
    registerColorPickerForHTML,
    registerColorPickerForMediaWiki,
    registerColorPickerForVue,
} from '@bhsd/codemirror-mediawiki';
registerColorPickerForCSS();
registerColorPickerForHTML();
registerColorPickerForMediaWiki();
registerColorPickerForVue();
```

### 逃脱

扩展

_添加:2.2.2_

密钥绑定 :

-   `Ctrl`编号 :`Cmd` + 键 `[`: 以 HTML 实体摆脱所选文本
-   `Ctrl`编号 :`Cmd` + 键 `]`: 以 URL 编码逃避所选文本
-   `Ctrl`编号 :`Cmd` + 键 `\`: 将所选文本从 [魔法词](https://www.mediawiki.org/wiki/Help:Magic_words#Escaped_characters)

对于捆绑的扩展的颗粒控制,您可以导入 `registerEscape` 函数 :

```js
import {registerEscape} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerEscape('https://www.mediawiki.org/wiki/');
```

### 突出显示活动线

扩展

突出显示光标在浅青色中的行.

对于捆绑的扩展的颗粒控制,您可以导入 `registerHighlightActiveLine` 函数 :

```js
import {registerHighlightActiveLine} from '@bhsd/codemirror-mediawiki';
registerHighlightActiveLine();
```

### 突出显示选题

扩展

_增加版本:2.15.3_

以浅绿色突出显示匹配选择的文本 .

对于捆绑的扩展的颗粒控制,您可以导入 `registerHighlightSelectionMatches` 函数 :

```js
import {registerHighlightSelectionMatches} from '@bhsd/codemirror-mediawiki';
registerHighlightSelectionMatches();	
```	

### 突出显示特殊聊天

扩展

将隐形字符显示为红色点.

对于捆绑的扩展的颗粒控制,您可以导入 `registerHighlightSpecialChars` 函数 :

```js
import {registerHighlightSpecialChars} from '@bhsd/codemirror-mediawiki';
registerHighlightSpecialChars();
```

### 突出显示显示白空间

扩展

_添加:2.0.9_

突出显示红-橙色的白色空间.

对于捆绑的扩展的颗粒控制,您可以导入 `registerHighlightTrailingWhitespace` 函数 :

```js
import {registerHighlightTrailingWhitespace} from '@bhsd/codemirror-mediawiki';
registerHighlightTrailingWhitespace();
```

### 突出显示白空间

扩展

_添加:2.0.12_

将空格和标签显示为点和箭头.

对于捆绑的扩展的颗粒控制,您可以导入 `registerHighlightWhitespace` 函数 :

```js
import {registerHighlightWhitespace} from '@bhsd/codemirror-mediawiki';
registerHighlightWhitespace();
```

### 盘旋

扩展

_添加:2.21.1_

在徘徊时显示魔法词或模板名的帮助信息.

对于捆绑的扩展的颗粒控制,您需要注册这个 特定语言的扩展名( e)[虐待问题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-abusefilter) 或者说 [媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki):

```js
import {
    registerHover, // for MediaWiki
    registerHoverForAbuseFilter,
} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerHover('https://www.mediawiki.org/wiki/');
registerHoverForAbuseFilter();
```

### 缩进指南

扩展

_增加:3.16.0_

将缩进向导显示为垂直行。 此扩展不存在于 MediaWiki模式.

对于捆绑的扩展的颗粒控制,您可以导入 `registerIndentGuide` 函数 :

```js
import {registerIndentGuide} from '@bhsd/codemirror-mediawiki';
registerIndentGuide();
```

### 内置提示

扩展

_增加:2.22.0_

显示匿名参数的内置提示 .

对于捆绑的扩展的颗粒控制,您可以导入 `registerInlayHints` 函数 :

```js
import {registerInlayHints} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerInlayHints('https://www.mediawiki.org/wiki/');
```

### 打开链接

扩展

_增加版本:2.19.6_

CTRL/CMD点击打开新标签中的链接.

对于捆绑的扩展的颗粒控制,您需要注册这个 特定语言的扩展名( e)[媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki) 或非媒体维基语言:

```js
import {
    registerOpenLinks, // for MediaWiki
    registerOpenLinksForNonMediaWiki,
} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerOpenLinks('https://www.mediawiki.org/wiki/');
registerOpenLinksForNonMediaWiki();
```

### 转发

扩展

_增加版本:2.17.1_

显示内容 `<ref>` 标记在其它地方徘徊时定义.

对于捆绑的扩展的颗粒控制,您可以导入 `registerRefHover` 函数 :

```js
import {registerRefHover} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerRefHover('https://www.mediawiki.org/wiki/');
```

### 滚动末端

扩展

_增加版本:2.15.3_

允许编辑器被滚动到文档末尾.

对于捆绑的扩展的颗粒控制,您可以导入 `registerScrollPastEnd` 函数 :

```js
import {registerScrollPastEnd} from '@bhsd/codemirror-mediawiki';
registerScrollPastEnd();
```

### 签名帮助

扩展

_添加:2.21.1_

输入时显示解析器函数签名 .

对于捆绑的扩展的颗粒控制,您需要注册这个 特定语言的扩展名( e)[虐待问题](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-abusefilter) 或者说 [媒体维基](https://npmcn.com/package/%40bhsd/codemirror-mediawiki/#readme-mediawiki):

```js
import {
    registerSignatureHelp, // for MediaWiki
    registerSignatureHelpForAbuseFilter,
} from '@bhsd/codemirror-mediawiki';
// optionally pass the article path of a MediaWiki site
registerSignatureHelp('https://www.mediawiki.org/wiki/');
registerSignatureHelpForAbuseFilter();
```

### 粘相滚动

扩展

_增加版本:4.5.0_

滚动时在编辑器上方粘接的打开边框.

对于捆绑的扩展的颗粒控制,您可以导入 `registerStickyScroll` 函数 :

```js
import {registerStickyScroll} from '@bhsd/codemirror-mediawiki';
registerStickyScroll();
```

## 已知问题

### 语法突出显示

扩展

#### 重定向

1.  重定向目标不能包含非法字符( Q)[示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#4.%20Redirect%20to%20a%20templated%20destination)) (中文(简体) ).

#### 延长

1.  [扩展名: Poem](https://www.mediawiki.org/wiki/Extension:Poem) 应 防止格式化的文本([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#%3Cpoem%3E%20with%20leading%20whitespace)) (中文(简体) ).

#### 转移

1.  以 `#` 显示为解析器 函数[示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Parsoid%3A%20unknown%20parser%20function%20\(T314524\))) (中文(简体) ).
2.  模板参数名称中的 Wikitext 不突出显示([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Templates%3A%20Other%20wikitext%20in%20parameter%20names%20\(T69657\))) (中文(简体) ).
3.  新行之后的模板参数名称不被识别([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Templates%3A%20Handle%20comments%20in%20parameter%20names%20\(T69657\))) (中文(简体) ).
4.  类似模板的语法,但没有模板名称([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#T408631%3A%20Invalid%20templates%20inside%20template%20parameters)) (中文(简体) ).

#### 标题

1.  在特别业务标准下的评论不应打破各节标题([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Section%20extraction%20prefixed%20by%20comment%20\(section%201\))) (中文(简体) ).
2.  含有多行扩展标记的章节标题不突出显示([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Heading%20with%20line%20break%20in%20nowiki)) (中文(简体) ).

#### 图表

1.  在SOL上的评论不应打破表格语法([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#3c.%20Table%20cells%20without%20escapable%20prefixes%20after%20edits)) (中文(简体) ).
2.  `!!` 链接中应启动新的 `<th>` (单位:千美元)[示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Precedence%20of%20table%20over%20links)) (中文(简体) ).

#### 行为切换

1.  URL协议后的行为切换不应被突出显示为URL([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Fuzz%20testing%3A%20Parser14)) (中文(简体) ).

#### 链接

1.  反向管伎俩( Name[示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#pre-save%20transform%3A%20context%20links%20\(%22pipe%20trick%22\)%20with%20parens%20in%20title)) (中文(简体) ).

#### 外部链接

1.  不支持 IPv6 地址 ([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#IPv6%20urls%2C%20autolink%20format%20\(T23261\))) (中文(简体) ).
2.  双括号内的外部链接不正确突出([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Render%20invalid%20page%20names%20as%20plain%20text%20\(T53090\))) (中文(简体) ).

#### 块元素

1.  在SOL上的评论断开突出显示([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#1.%20Lists%20with%20start-of-line-transparent%20tokens%20before%20bullets%3A%20Comments)) (中文(简体) ).
2.  预格式文本的假正值,如果有类别的话([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Category%20%2F%20paragraph%20interactions)(中文(简体) ) 或 HTML 标记 ([示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Parsing%20optional%20HTML%20elements%20\(T8171\))) (中文(简体) ).

#### 语文转换

1.  与 `<nowiki>` (单位:千美元)[示例](https://bhsd-harry.github.io/codemirror-mediawiki/tests.html#Language%20converter%20tricky%20html2wt%20cases%20\(5\))) (中文(简体) ).

## 常见问题

### @bhsd/codemirror-mediawiki 是什么？

基于wikimedia/mediawiki-extension-CodeMiror的已修改的代码Miror模式

### 如何安装 @bhsd/codemirror-mediawiki？

在项目目录运行 npm install @bhsd/codemirror-mediawiki，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@codemirror/lint（^6\.7\.0）、@codemirror/view（^6\.39\.0）、@codemirror/state（^6\.0\.0）、@codemirror/search（^6\.4\.0）、@codemirror/commands（^6\.5\.0）、@codemirror/lang-css（^6\.0\.0）、@codemirror/lang-vue（\>=0\.1\.2）、@codemirror/language（^6\.3\.0）、@codemirror/lang-html（^6\.0\.0）、@codemirror/autocomplete（^6\.9\.0）、@codemirror/legacy-modes（^6\.0\.0）、@codemirror/lang-javascript（^6\.1\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bhsd/codemirror-mediawiki 支持 TypeScript 吗？

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

### @bhsd/codemirror-mediawiki 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @bhsd/codemirror-mediawiki 可以商用吗？

@bhsd/codemirror-mediawiki 使用 GPL-2\.0-or-later 许可。强 Copyleft：分发包含该代码的软件时，整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括，不构成法律意见，请以许可原文为准。

### @bhsd/codemirror-mediawiki 的下载量有多少？

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

### @bhsd/codemirror-mediawiki 还在维护吗？

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

