diff --git a/common/changes/@coze-editor/preset-code-languages/feat-svg-highlight_2026-01-20-04-34.json b/common/changes/@coze-editor/preset-code-languages/feat-svg-highlight_2026-01-20-04-34.json new file mode 100644 index 00000000..544caac6 --- /dev/null +++ b/common/changes/@coze-editor/preset-code-languages/feat-svg-highlight_2026-01-20-04-34.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze-editor/preset-code-languages", + "comment": "支持SVG文件语法高亮并优化路径处理", + "type": "minor" + } + ], + "packageName": "@coze-editor/preset-code-languages", + "email": "hanchayi@163.com" +} diff --git a/packages/text-editor/dev/src/pages/highlight/examples.tsx b/packages/text-editor/dev/src/pages/highlight/examples.tsx index e251221c..c1fcfc1f 100644 --- a/packages/text-editor/dev/src/pages/highlight/examples.tsx +++ b/packages/text-editor/dev/src/pages/highlight/examples.tsx @@ -61,6 +61,14 @@ export default App; }, { code: ` + + + +`, + path: 'a.svg', + }, + { + code: ` body { background-color: #f0f0f0; } diff --git a/packages/text-editor/preset-code-languages/src/languages.ts b/packages/text-editor/preset-code-languages/src/languages.ts index ddd4c801..e4a86750 100644 --- a/packages/text-editor/preset-code-languages/src/languages.ts +++ b/packages/text-editor/preset-code-languages/src/languages.ts @@ -50,7 +50,7 @@ export const supportedLanguages = [ }), LanguageDescription.of({ name: 'HTML', - extensions: ['html'], + extensions: ['html', 'svg'], async load() { return import('@codemirror/lang-html').then(module => module.html()); }, diff --git a/packages/text-editor/preset-code-languages/src/preset.ts b/packages/text-editor/preset-code-languages/src/preset.ts index 8240582c..ed7d6c91 100644 --- a/packages/text-editor/preset-code-languages/src/preset.ts +++ b/packages/text-editor/preset-code-languages/src/preset.ts @@ -3,7 +3,7 @@ import { asyncOption } from '@coze-editor/core'; import { getLanguage } from './languages'; export const preset = [ - ...asyncOption('path', (path: string) => getLanguage(path), { + ...asyncOption('path', (path?: string) => getLanguage(path ?? ''), { reset: true, }), ];