Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
9c9c676
feat: 升级 CodeMirror 到 v6
RSS1102 Mar 21, 2026
fdc703c
feat: 新增 CodeMirror v6 及相关依赖包
RSS1102 Mar 21, 2026
d7eaf3c
chore: 将 @replit/codemirror-vim 添加为外部依赖以保持懒加载
RSS1102 Mar 21, 2026
496112b
chore: add changeset
RSS1102 Mar 21, 2026
313e57e
chore: update changeset
RSS1102 Mar 23, 2026
65a06a9
chore: 将 changeset 版本更新为 minor
RSS1102 Mar 23, 2026
96e44f9
fix: 修复销毁逻辑,防止内存泄漏和异步回调错误
RSS1102 Mar 23, 2026
ac934c3
chore: 升级 @codemirror/language 和 @codemirror/view 依赖版本并移除 bracketMatc…
RSS1102 Mar 23, 2026
5923763
fix: 优化 Suggester 键盘事件处理逻辑,使用拦截器方向键并修复 Enter 键交互问题
RSS1102 Mar 23, 2026
b94c7a5
fix(editor): 修复 vim 模块并发加载、粘贴占位符及边界保护问题以及联想错误
RSS1102 Mar 24, 2026
95b21f2
chore: 代码清理与注释优化
RSS1102 Mar 24, 2026
c5006c7
Merge branch 'dev' into upgrade_codemirror_v6_251213
RSS1102 Mar 24, 2026
f94cfcf
docs: 规范 JSDoc 注释格式并移除冗余注释
RSS1102 Mar 24, 2026
be29ee4
fix(types): 更新编辑器类型定义
RSS1102 Mar 24, 2026
2a032d3
refactor: 重命名 scroll 属性以明确语义
RSS1102 Mar 24, 2026
b9c4b20
fix(editor): 修复预览区和编辑区滚动联动
RSS1102 Mar 24, 2026
d6bd83e
fix: 修复表格操作和预览气泡的边界问题
RSS1102 Mar 24, 2026
a00d64d
fix: 修复编辑区同步滚动逻辑
sunsonliu Mar 25, 2026
2a11cfc
fix(cm6): 增强 CM5 API 兼容性,新增 scrollTo 方法并优化滚动相关实现
RSS1102 Mar 25, 2026
d4f181b
refactor(editor): 移除 CM6Adapter 中的 CM5 兼容 API 并更新调用方
RSS1102 Mar 25, 2026
295f02c
test: 更新 Suggester 绑定事件测试用例
RSS1102 Mar 26, 2026
1d261ea
style: 格式化代码块相关代码
RSS1102 Mar 26, 2026
18ca7c5
chore: 删除未使用的导入
RSS1102 Mar 26, 2026
c84647c
fix: 优化选区逻辑,并重构无用的代码
sunsonliu Mar 27, 2026
c169a7c
fix: 优化bobble的定位逻辑
sunsonliu Mar 27, 2026
5a7bb6e
fix: 去掉上下选中顺序的影响
sunsonliu Mar 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .changeset/codemirror-v6-upgrade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'cherry-markdown': minor
---

- refactor: 升级 CodeMirror 到 v6
- 将 CodeMirror 从 v5 升级到 v6,重构 CM6Adapter 适配器
- 优化特殊字符标记处理性能
- 修复选区映射、正则处理、Bubble 事件等问题
- 支持 vim 模式懒加载(@replit/codemirror-vim)
2 changes: 1 addition & 1 deletion examples/assets/drawio_lib/resources/zh.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ addProperty=添加属性
address=地址
addToExistingDrawing=添加至当前的图纸
addWaypoint=添加航点
adjustTo=调至
adjustTo=跳至
advanced=高级
align=对齐
alignment=对齐
Expand Down
2 changes: 1 addition & 1 deletion examples/assets/scripts/chatgpt-demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ var customMenuC = Cherry.createMenuHook('帮助中心', {
onClick: (selection, type) => {
switch (type) {
case 'shortKey':
return `${selection}快捷键看这里:https://codemirror.net/5/demo/sublime.html`;
return `${selection}快捷键看这里:https://codemirror.net/docs/ref/#commands`;
case 'github':
return `${selection}我们在这里:https://github.com/Tencent/cherry-markdown`;
case 'release':
Expand Down
2 changes: 1 addition & 1 deletion examples/assets/scripts/index-demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ var customMenuC = Cherry.createMenuHook('自定义菜单+子菜单', {
onClick: (selection, type) => {
switch (type) {
case 'shortKey':
return `${selection}快捷键看这里:https://codemirror.net/5/demo/sublime.html`;
return `${selection}快捷键看这里:https://codemirror.net/docs/ref/#commands`;
case 'github':
return `${selection}我们在这里:https://github.com/Tencent/cherry-markdown`;
case 'release':
Expand Down
2 changes: 1 addition & 1 deletion examples/vim.html
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@
};
var sourceCode = document.documentElement.outerHTML;
var cherry = new Cherry(config);
cherry.setValue(`## 移动光标\n- h j k l 上 下 左 右\n- w 跳到下一个字首,按标点或单词分割\n- W 跳到下一个字首,长跳,如end-of-line被认为是一个字\n- e 跳到下一个字尾\n- E 跳到下一个字尾,长跳\n- b 跳到上一个字\n- B 跳到上一个字,长跳\n- ^ 跳至行首的第一个字符\n- gg 跳至文首\n- G 调至文尾\n- 5gg/5G 调至第5行\n## 删除复制\n- dd 删除光标所在行\n- dw 删除一个字(word)\n- d/D 删除到行末\n- x 删除当前字符\n- X 删除前一个字符\n## 插入模式\n- i 从当前光标处进入插入模式\n- I 进入插入模式,并置光标于行首\n- a 追加模式,置光标于当前光标之后\n- A 追加模式,置光标于行末\n- o 在当前行之下新加一行,并进入插入模式\n- O 在当前行之上新加一行,并进入插入模式\n- Esc 退出插入模式\n## 更多\n查看[更多](https://codemirror.net/5/keymap/vim.js)\n`);
cherry.setValue(`## 移动光标\n- h j k l 上 下 左 右\n- w 跳到下一个字首,按标点或单词分割\n- W 跳到下一个字首,长跳,如end-of-line被认为是一个字\n- e 跳到下一个字尾\n- E 跳到下一个字尾,长跳\n- b 跳到上一个字\n- B 跳到上一个字,长跳\n- ^ 跳至行首的第一个字符\n- gg 跳到文首\n- G 跳至文尾\n- 5gg/5G 跳至第5行\n## 删除复制\n- dd 删除光标所在行\n- dw 删除一个字(word)\n- d/D 删除到行末\n- x 删除当前字符\n- X 删除前一个字符\n## 插入模式\n- i 从当前光标处进入插入模式\n- I 进入插入模式,并置光标于行首\n- a 追加模式,置光标于当前光标之后\n- A 追加模式,置光标于行末\n- o 在当前行之下新加一行,并进入插入模式\n- O 在当前行之上新加一行,并进入插入模式\n- Esc 退出插入模式\n## 更多\n查看[更多](https://github.com/replit/codemirror-vim?tab=readme-ov-file#vim-keybindings-for-cm6)\n`);
</script>
</html>
18 changes: 18 additions & 0 deletions packages/cherry-markdown/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Change Log

## 0.11.0-alpha.0

### Minor Changes

- 3a1f53f: refactor: 升级编辑器至 `Codemirror@6` 并优化相关功能

### Patch Changes

- f5e01e9: fix: #1570 修复点击脚注列表里的标号时有js报错的问题
- 68017a4: chore:`@types/node` 升级为 `@20.10.6`
- b559a2a: chore: 将 release build 的 Node 版本设置为 `18.x`
- 755dd8c: fix: 优化拖拽预览区宽度的逻辑,使其更稳定
- c15f54f: style: 增加主题和代码块主题的图标
- 5d2d0be: fix: 修复表格同一个单元格内无法连续输入\|的问题
- 2478d68: fix: 移除工具栏高度动态更新逻辑,简化任务栏高度变量管理
- e069033: feat(sidebar): 添加侧边栏列表样式和动态高度支持
- a275692: fix: image syntax compatibility, Fixes #1554

## 0.10.3

### Patch Changes
Expand Down
1 change: 1 addition & 0 deletions packages/cherry-markdown/build/rollup.core.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,6 @@ if (!Array.isArray(options.external)) {
options.external = [];
}
options.external.push('mermaid');
options.external.push('@replit/codemirror-vim'); // 保持 vim 模块懒加载,避免 code-splitting

export default options;
2 changes: 1 addition & 1 deletion packages/cherry-markdown/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
// 相对路径:拼接本地示例路径
console.log('加载本地图片', '/@fs/' + __EXAMPLES_PATH__ + '/' + url);
return '/@fs/' + __EXAMPLES_PATH__ + '/' + url;
},
},
},
};

Expand Down
9 changes: 9 additions & 0 deletions packages/cherry-markdown/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,15 @@
"vite": "^6.4.1"
},
"dependencies": {
"@codemirror/autocomplete": "^6.18.6",
"@codemirror/commands": "^6.8.1",
"@codemirror/lang-markdown": "^6.3.2",
"@codemirror/language": "^6.12.2",
"@codemirror/search": "^6.5.10",
"@codemirror/state": "^6.5.2",
"@codemirror/view": "^6.40.0",
"@lezer/highlight": "^1.2.1",
"@replit/codemirror-vim": "^6.3.0",
"@types/codemirror": "^0.0.108",
"crypto-js": "^4.2.0",
"dompurify": "^3.2.6",
Expand Down
Loading
Loading