code-editor
CodeMirror 6 编辑器绑定共享的语言描述与主题类型。
功能特性
- 多语言描述:JavaScript、TypeScript、JSON、HTML、CSS、SQL、Markdown、Python 等
- 按需加载:语言解析器通过
LanguageDescription.load()动态加载 - 统一查找:按语言名称或别名进行大小写不敏感查找
- 零框架依赖:供 Angular、React、Vue 或其他 CodeMirror 6 集成复用
何时使用
- 需要为 CodeMirror 6 编辑器加载语言支持
- 需要在多个框架绑定之间共享同一份语言列表
- 需要向框架绑定传入自定义语言描述
框架集成
本包不创建编辑器实例。完整组件请使用:
- Angular:
@aiao/code-editor-angular - React:
@aiao/code-editor-react - Vue:
@aiao/code-editor-vue
安装
npm install @aiao/code-editor
# 或
pnpm add @aiao/code-editor
使用
import { findLanguageByName, SUPPORT_LANGUAGES } from '@aiao/code-editor';
const language = findLanguageByName('typescript');
if (language === null) {
throw new Error('Unsupported language');
}
const languageSupport = await language.load();
const availableLanguageNames = SUPPORT_LANGUAGES.map(item => item.name);
findLanguageByName() 只匹配语言名称和别名,不按文件扩展名或文件名查找。返回的 languageSupport 可作为 CodeMirror 扩展交给具体框架绑定或编辑器状态。
完整示例
Interfaces
| Interface | Description |
|---|---|
| CodeEditorLanguageDescription | - |
| CodeEditorLanguageSupport | - |
Type Aliases
| Type Alias | Description |
|---|---|
| CodeEditorExtension | - |
| CodeEditorTheme | CodeEditor 主题类型 |
Variables
| Variable | Description |
|---|---|
| CSS | - |
| HTML | - |
| JavaScript | - |
| JSON | - |
| JSX | - |
| Markdown | - |
| PostgreSQL | - |
| Python | - |
| Sass | - |
| SCSS | - |
| SQL | - |
| SQLite | - |
| SUPPORT_LANGUAGES | - |
| TSX | - |
| TypeScript | - |
| XML | - |
Functions
| Function | Description |
|---|---|
| findLanguageByName | - |