@coze-editor/preset-code-languages 0.1.0-alpha.f1005d → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// src/preset.ts
|
|
2
|
-
import { asyncOption } from "@coze-editor/
|
|
2
|
+
import { asyncOption } from "@coze-editor/utils";
|
|
3
|
+
import { value, valueExtension } from "@coze-editor/core-plugins";
|
|
4
|
+
import { extension, option } from "@coze-editor/core";
|
|
3
5
|
|
|
4
6
|
// src/languages.ts
|
|
5
7
|
import { LanguageDescription, LanguageSupport } from "@codemirror/language";
|
|
@@ -161,6 +163,8 @@ async function getLanguage(fileName) {
|
|
|
161
163
|
|
|
162
164
|
// src/preset.ts
|
|
163
165
|
var preset = [
|
|
166
|
+
extension(valueExtension),
|
|
167
|
+
option("value", value),
|
|
164
168
|
...asyncOption("path", async (path) => getLanguage(path))
|
|
165
169
|
];
|
|
166
170
|
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/preset.ts","../../src/languages.ts","../../src/index.ts"],"sourcesContent":["import { asyncOption } from '@coze-editor/core';\n\nimport { getLanguage } from './languages';\n\nexport const preset = [\n ...asyncOption('path', async (path: string) => getLanguage(path)),\n];\n","import { type Extension } from '@codemirror/state';\nimport { LanguageDescription, LanguageSupport } from '@codemirror/language';\n\nexport const supportedLanguages = [\n LanguageDescription.of({\n name: 'VUE',\n extensions: ['vue'],\n async load() {\n return import('@codemirror/lang-vue').then(module => module.vue());\n },\n }),\n LanguageDescription.of({\n name: 'TS',\n extensions: ['ts'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ typescript: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JS',\n extensions: ['js', 'mjs', 'cjs'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'TSX',\n extensions: ['tsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({\n jsx: true,\n typescript: true,\n }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSX',\n extensions: ['jsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ jsx: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'HTML',\n extensions: ['html'],\n async load() {\n return import('@codemirror/lang-html').then(module => module.html());\n },\n }),\n LanguageDescription.of({\n name: 'CSS',\n extensions: ['css'],\n async load() {\n return import('@codemirror/lang-css').then(module => module.css());\n },\n }),\n LanguageDescription.of({\n name: 'SASS',\n extensions: ['sass'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'SCSS',\n extensions: ['scss'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: false }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSON',\n extensions: ['json'],\n async load() {\n return import('@codemirror/lang-json').then(module => module.json());\n },\n }),\n LanguageDescription.of({\n name: 'Markdown',\n extensions: ['md'],\n async load() {\n return import('@codemirror/lang-markdown').then(module =>\n module.markdown(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Wasm',\n extensions: ['wat'],\n async load() {\n return import('@codemirror/lang-wast').then(module => module.wast());\n },\n }),\n LanguageDescription.of({\n name: 'Python',\n extensions: ['py'],\n async load() {\n return import('@codemirror/lang-python').then(module => module.python());\n },\n }),\n LanguageDescription.of({\n name: 'C++',\n extensions: ['cpp'],\n async load() {\n return import('@codemirror/lang-cpp').then(module => module.cpp());\n },\n }),\n LanguageDescription.of({\n name: 'Shell',\n extensions: ['sh'],\n async load() {\n return import('@coze-editor/code-language-shell').then(\n module => new LanguageSupport(module.shellLanguage),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Sql',\n extensions: ['sql'],\n async load() {\n return import('@codemirror/lang-sql').then(module => module.sql());\n },\n }),\n];\n\n// 添加缓存机制\nconst languageCache = new Map<string, Promise<Extension>>();\n\nexport async function getLanguage(fileName: string): Promise<Extension> {\n const cacheKey = fileName.split('.').pop() || 'default';\n\n const cachedLanguage = languageCache.get(cacheKey);\n if (cachedLanguage) {\n return cachedLanguage;\n }\n\n const loadPromise = (async () => {\n try {\n const languageDescription = LanguageDescription.matchFilename(\n supportedLanguages,\n fileName,\n );\n return languageDescription ? await languageDescription.load() : [];\n } catch (e) {\n console.error('Language load failed:', e);\n return [];\n }\n })();\n\n languageCache.set(cacheKey, loadPromise);\n return loadPromise;\n}\n","import { preset } from './preset';\n\nexport { getLanguage } from './languages';\n\nexport default preset;\n"],"mappings":";AAAA,SAAS,mBAAmB;;;
|
|
1
|
+
{"version":3,"sources":["../../src/preset.ts","../../src/languages.ts","../../src/index.ts"],"sourcesContent":["import { asyncOption } from '@coze-editor/utils';\nimport { value, valueExtension } from '@coze-editor/core-plugins';\nimport { extension, option } from '@coze-editor/core';\n\nimport { getLanguage } from './languages';\n\nexport const preset = [\n extension(valueExtension),\n option('value', value),\n ...asyncOption('path', async (path: string) => getLanguage(path)),\n];\n","import { type Extension } from '@codemirror/state';\nimport { LanguageDescription, LanguageSupport } from '@codemirror/language';\n\nexport const supportedLanguages = [\n LanguageDescription.of({\n name: 'VUE',\n extensions: ['vue'],\n async load() {\n return import('@codemirror/lang-vue').then(module => module.vue());\n },\n }),\n LanguageDescription.of({\n name: 'TS',\n extensions: ['ts'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ typescript: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JS',\n extensions: ['js', 'mjs', 'cjs'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'TSX',\n extensions: ['tsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({\n jsx: true,\n typescript: true,\n }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSX',\n extensions: ['jsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ jsx: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'HTML',\n extensions: ['html'],\n async load() {\n return import('@codemirror/lang-html').then(module => module.html());\n },\n }),\n LanguageDescription.of({\n name: 'CSS',\n extensions: ['css'],\n async load() {\n return import('@codemirror/lang-css').then(module => module.css());\n },\n }),\n LanguageDescription.of({\n name: 'SASS',\n extensions: ['sass'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'SCSS',\n extensions: ['scss'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: false }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSON',\n extensions: ['json'],\n async load() {\n return import('@codemirror/lang-json').then(module => module.json());\n },\n }),\n LanguageDescription.of({\n name: 'Markdown',\n extensions: ['md'],\n async load() {\n return import('@codemirror/lang-markdown').then(module =>\n module.markdown(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Wasm',\n extensions: ['wat'],\n async load() {\n return import('@codemirror/lang-wast').then(module => module.wast());\n },\n }),\n LanguageDescription.of({\n name: 'Python',\n extensions: ['py'],\n async load() {\n return import('@codemirror/lang-python').then(module => module.python());\n },\n }),\n LanguageDescription.of({\n name: 'C++',\n extensions: ['cpp'],\n async load() {\n return import('@codemirror/lang-cpp').then(module => module.cpp());\n },\n }),\n LanguageDescription.of({\n name: 'Shell',\n extensions: ['sh'],\n async load() {\n return import('@coze-editor/code-language-shell').then(\n module => new LanguageSupport(module.shellLanguage),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Sql',\n extensions: ['sql'],\n async load() {\n return import('@codemirror/lang-sql').then(module => module.sql());\n },\n }),\n];\n\n// 添加缓存机制\nconst languageCache = new Map<string, Promise<Extension>>();\n\nexport async function getLanguage(fileName: string): Promise<Extension> {\n const cacheKey = fileName.split('.').pop() || 'default';\n\n const cachedLanguage = languageCache.get(cacheKey);\n if (cachedLanguage) {\n return cachedLanguage;\n }\n\n const loadPromise = (async () => {\n try {\n const languageDescription = LanguageDescription.matchFilename(\n supportedLanguages,\n fileName,\n );\n return languageDescription ? await languageDescription.load() : [];\n } catch (e) {\n console.error('Language load failed:', e);\n return [];\n }\n })();\n\n languageCache.set(cacheKey, loadPromise);\n return loadPromise;\n}\n","import { preset } from './preset';\n\nexport { getLanguage } from './languages';\n\nexport default preset;\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,OAAO,sBAAsB;AACtC,SAAS,WAAW,cAAc;;;ACDlC,SAAS,qBAAqB,uBAAuB;AAE9C,IAAM,qBAAqB;AAAA,EAChC,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,sBAAsB,EAAE,KAAK,YAAU,OAAO,IAAI,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,IAAI;AAAA,IACjB,MAAM,OAAO;AACX,aAAO,OAAO,6BAA6B,EAAE;AAAA,QAAK,YAChD,OAAO,WAAW,EAAE,YAAY,KAAK,CAAC;AAAA,MACxC;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,MAAM,OAAO,KAAK;AAAA,IAC/B,MAAM,OAAO;AACX,aAAO,OAAO,6BAA6B,EAAE;AAAA,QAAK,YAChD,OAAO,WAAW;AAAA,MACpB;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,6BAA6B,EAAE;AAAA,QAAK,YAChD,OAAO,WAAW;AAAA,UAChB,KAAK;AAAA,UACL,YAAY;AAAA,QACd,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,6BAA6B,EAAE;AAAA,QAAK,YAChD,OAAO,WAAW,EAAE,KAAK,KAAK,CAAC;AAAA,MACjC;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,MAAM;AAAA,IACnB,MAAM,OAAO;AACX,aAAO,OAAO,uBAAuB,EAAE,KAAK,YAAU,OAAO,KAAK,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,sBAAsB,EAAE,KAAK,YAAU,OAAO,IAAI,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,MAAM;AAAA,IACnB,MAAM,OAAO;AACX,aAAO,OAAO,uBAAuB,EAAE;AAAA,QAAK,YAC1C,OAAO,KAAK,EAAE,UAAU,KAAK,CAAC;AAAA,MAChC;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,MAAM;AAAA,IACnB,MAAM,OAAO;AACX,aAAO,OAAO,uBAAuB,EAAE;AAAA,QAAK,YAC1C,OAAO,KAAK,EAAE,UAAU,MAAM,CAAC;AAAA,MACjC;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,MAAM;AAAA,IACnB,MAAM,OAAO;AACX,aAAO,OAAO,uBAAuB,EAAE,KAAK,YAAU,OAAO,KAAK,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,IAAI;AAAA,IACjB,MAAM,OAAO;AACX,aAAO,OAAO,2BAA2B,EAAE;AAAA,QAAK,YAC9C,OAAO,SAAS;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,uBAAuB,EAAE,KAAK,YAAU,OAAO,KAAK,CAAC;AAAA,IACrE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,IAAI;AAAA,IACjB,MAAM,OAAO;AACX,aAAO,OAAO,yBAAyB,EAAE,KAAK,YAAU,OAAO,OAAO,CAAC;AAAA,IACzE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,sBAAsB,EAAE,KAAK,YAAU,OAAO,IAAI,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,IAAI;AAAA,IACjB,MAAM,OAAO;AACX,aAAO,OAAO,kCAAkC,EAAE;AAAA,QAChD,YAAU,IAAI,gBAAgB,OAAO,aAAa;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,oBAAoB,GAAG;AAAA,IACrB,MAAM;AAAA,IACN,YAAY,CAAC,KAAK;AAAA,IAClB,MAAM,OAAO;AACX,aAAO,OAAO,sBAAsB,EAAE,KAAK,YAAU,OAAO,IAAI,CAAC;AAAA,IACnE;AAAA,EACF,CAAC;AACH;AAGA,IAAM,gBAAgB,oBAAI,IAAgC;AAE1D,eAAsB,YAAY,UAAsC;AACtE,QAAM,WAAW,SAAS,MAAM,GAAG,EAAE,IAAI,KAAK;AAE9C,QAAM,iBAAiB,cAAc,IAAI,QAAQ;AACjD,MAAI,gBAAgB;AAClB,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,YAAY;AAC/B,QAAI;AACF,YAAM,sBAAsB,oBAAoB;AAAA,QAC9C;AAAA,QACA;AAAA,MACF;AACA,aAAO,sBAAsB,MAAM,oBAAoB,KAAK,IAAI,CAAC;AAAA,IACnE,SAAS,GAAG;AACV,cAAQ,MAAM,yBAAyB,CAAC;AACxC,aAAO,CAAC;AAAA,IACV;AAAA,EACF,GAAG;AAEH,gBAAc,IAAI,UAAU,WAAW;AACvC,SAAO;AACT;;;AD7JO,IAAM,SAAS;AAAA,EACpB,UAAU,cAAc;AAAA,EACxB,OAAO,SAAS,KAAK;AAAA,EACrB,GAAG,YAAY,QAAQ,OAAO,SAAiB,YAAY,IAAI,CAAC;AAClE;;;AENA,IAAO,gBAAQ;","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _coze_editor_core from '@coze-editor/core';
|
|
2
2
|
import { Extension } from '@codemirror/state';
|
|
3
3
|
|
|
4
|
-
declare const preset: (_coze_editor_core.ExtensionPluginSpec | _coze_editor_core.OptionPluginSpec<"path", string>)[];
|
|
4
|
+
declare const preset: (_coze_editor_core.ExtensionPluginSpec | _coze_editor_core.OptionPluginSpec<"value", string> | _coze_editor_core.OptionPluginSpec<"path", string>)[];
|
|
5
5
|
|
|
6
6
|
declare function getLanguage(fileName: string): Promise<Extension>;
|
|
7
7
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _coze_editor_core from '@coze-editor/core';
|
|
2
2
|
import { Extension } from '@codemirror/state';
|
|
3
3
|
|
|
4
|
-
declare const preset: (_coze_editor_core.ExtensionPluginSpec | _coze_editor_core.OptionPluginSpec<"path", string>)[];
|
|
4
|
+
declare const preset: (_coze_editor_core.ExtensionPluginSpec | _coze_editor_core.OptionPluginSpec<"value", string> | _coze_editor_core.OptionPluginSpec<"path", string>)[];
|
|
5
5
|
|
|
6
6
|
declare function getLanguage(fileName: string): Promise<Extension>;
|
|
7
7
|
|
package/dist/index.js
CHANGED
|
@@ -35,6 +35,8 @@ __export(index_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(index_exports);
|
|
36
36
|
|
|
37
37
|
// src/preset.ts
|
|
38
|
+
var import_utils = require("@coze-editor/utils");
|
|
39
|
+
var import_core_plugins = require("@coze-editor/core-plugins");
|
|
38
40
|
var import_core = require("@coze-editor/core");
|
|
39
41
|
|
|
40
42
|
// src/languages.ts
|
|
@@ -197,7 +199,9 @@ async function getLanguage(fileName) {
|
|
|
197
199
|
|
|
198
200
|
// src/preset.ts
|
|
199
201
|
var preset = [
|
|
200
|
-
|
|
202
|
+
(0, import_core.extension)(import_core_plugins.valueExtension),
|
|
203
|
+
(0, import_core.option)("value", import_core_plugins.value),
|
|
204
|
+
...(0, import_utils.asyncOption)("path", async (path) => getLanguage(path))
|
|
201
205
|
];
|
|
202
206
|
|
|
203
207
|
// src/index.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/preset.ts","../src/languages.ts"],"sourcesContent":["import { preset } from './preset';\n\nexport { getLanguage } from './languages';\n\nexport default preset;\n","import { asyncOption } from '@coze-editor/core';\n\nimport { getLanguage } from './languages';\n\nexport const preset = [\n ...asyncOption('path', async (path: string) => getLanguage(path)),\n];\n","import { type Extension } from '@codemirror/state';\nimport { LanguageDescription, LanguageSupport } from '@codemirror/language';\n\nexport const supportedLanguages = [\n LanguageDescription.of({\n name: 'VUE',\n extensions: ['vue'],\n async load() {\n return import('@codemirror/lang-vue').then(module => module.vue());\n },\n }),\n LanguageDescription.of({\n name: 'TS',\n extensions: ['ts'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ typescript: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JS',\n extensions: ['js', 'mjs', 'cjs'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'TSX',\n extensions: ['tsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({\n jsx: true,\n typescript: true,\n }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSX',\n extensions: ['jsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ jsx: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'HTML',\n extensions: ['html'],\n async load() {\n return import('@codemirror/lang-html').then(module => module.html());\n },\n }),\n LanguageDescription.of({\n name: 'CSS',\n extensions: ['css'],\n async load() {\n return import('@codemirror/lang-css').then(module => module.css());\n },\n }),\n LanguageDescription.of({\n name: 'SASS',\n extensions: ['sass'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'SCSS',\n extensions: ['scss'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: false }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSON',\n extensions: ['json'],\n async load() {\n return import('@codemirror/lang-json').then(module => module.json());\n },\n }),\n LanguageDescription.of({\n name: 'Markdown',\n extensions: ['md'],\n async load() {\n return import('@codemirror/lang-markdown').then(module =>\n module.markdown(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Wasm',\n extensions: ['wat'],\n async load() {\n return import('@codemirror/lang-wast').then(module => module.wast());\n },\n }),\n LanguageDescription.of({\n name: 'Python',\n extensions: ['py'],\n async load() {\n return import('@codemirror/lang-python').then(module => module.python());\n },\n }),\n LanguageDescription.of({\n name: 'C++',\n extensions: ['cpp'],\n async load() {\n return import('@codemirror/lang-cpp').then(module => module.cpp());\n },\n }),\n LanguageDescription.of({\n name: 'Shell',\n extensions: ['sh'],\n async load() {\n return import('@coze-editor/code-language-shell').then(\n module => new LanguageSupport(module.shellLanguage),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Sql',\n extensions: ['sql'],\n async load() {\n return import('@codemirror/lang-sql').then(module => module.sql());\n },\n }),\n];\n\n// 添加缓存机制\nconst languageCache = new Map<string, Promise<Extension>>();\n\nexport async function getLanguage(fileName: string): Promise<Extension> {\n const cacheKey = fileName.split('.').pop() || 'default';\n\n const cachedLanguage = languageCache.get(cacheKey);\n if (cachedLanguage) {\n return cachedLanguage;\n }\n\n const loadPromise = (async () => {\n try {\n const languageDescription = LanguageDescription.matchFilename(\n supportedLanguages,\n fileName,\n );\n return languageDescription ? await languageDescription.load() : [];\n } catch (e) {\n console.error('Language load failed:', e);\n return [];\n }\n })();\n\n languageCache.set(cacheKey, loadPromise);\n return loadPromise;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/preset.ts","../src/languages.ts"],"sourcesContent":["import { preset } from './preset';\n\nexport { getLanguage } from './languages';\n\nexport default preset;\n","import { asyncOption } from '@coze-editor/utils';\nimport { value, valueExtension } from '@coze-editor/core-plugins';\nimport { extension, option } from '@coze-editor/core';\n\nimport { getLanguage } from './languages';\n\nexport const preset = [\n extension(valueExtension),\n option('value', value),\n ...asyncOption('path', async (path: string) => getLanguage(path)),\n];\n","import { type Extension } from '@codemirror/state';\nimport { LanguageDescription, LanguageSupport } from '@codemirror/language';\n\nexport const supportedLanguages = [\n LanguageDescription.of({\n name: 'VUE',\n extensions: ['vue'],\n async load() {\n return import('@codemirror/lang-vue').then(module => module.vue());\n },\n }),\n LanguageDescription.of({\n name: 'TS',\n extensions: ['ts'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ typescript: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JS',\n extensions: ['js', 'mjs', 'cjs'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'TSX',\n extensions: ['tsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({\n jsx: true,\n typescript: true,\n }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSX',\n extensions: ['jsx'],\n async load() {\n return import('@codemirror/lang-javascript').then(module =>\n module.javascript({ jsx: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'HTML',\n extensions: ['html'],\n async load() {\n return import('@codemirror/lang-html').then(module => module.html());\n },\n }),\n LanguageDescription.of({\n name: 'CSS',\n extensions: ['css'],\n async load() {\n return import('@codemirror/lang-css').then(module => module.css());\n },\n }),\n LanguageDescription.of({\n name: 'SASS',\n extensions: ['sass'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: true }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'SCSS',\n extensions: ['scss'],\n async load() {\n return import('@codemirror/lang-sass').then(module =>\n module.sass({ indented: false }),\n );\n },\n }),\n LanguageDescription.of({\n name: 'JSON',\n extensions: ['json'],\n async load() {\n return import('@codemirror/lang-json').then(module => module.json());\n },\n }),\n LanguageDescription.of({\n name: 'Markdown',\n extensions: ['md'],\n async load() {\n return import('@codemirror/lang-markdown').then(module =>\n module.markdown(),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Wasm',\n extensions: ['wat'],\n async load() {\n return import('@codemirror/lang-wast').then(module => module.wast());\n },\n }),\n LanguageDescription.of({\n name: 'Python',\n extensions: ['py'],\n async load() {\n return import('@codemirror/lang-python').then(module => module.python());\n },\n }),\n LanguageDescription.of({\n name: 'C++',\n extensions: ['cpp'],\n async load() {\n return import('@codemirror/lang-cpp').then(module => module.cpp());\n },\n }),\n LanguageDescription.of({\n name: 'Shell',\n extensions: ['sh'],\n async load() {\n return import('@coze-editor/code-language-shell').then(\n module => new LanguageSupport(module.shellLanguage),\n );\n },\n }),\n LanguageDescription.of({\n name: 'Sql',\n extensions: ['sql'],\n async load() {\n return import('@codemirror/lang-sql').then(module => module.sql());\n },\n }),\n];\n\n// 添加缓存机制\nconst languageCache = new Map<string, Promise<Extension>>();\n\nexport async function getLanguage(fileName: string): Promise<Extension> {\n const cacheKey = fileName.split('.').pop() || 'default';\n\n const cachedLanguage = languageCache.get(cacheKey);\n if (cachedLanguage) {\n return cachedLanguage;\n }\n\n const loadPromise = (async () => {\n try {\n const languageDescription = LanguageDescription.matchFilename(\n supportedLanguages,\n fileName,\n );\n return languageDescription ? await languageDescription.load() : [];\n } catch (e) {\n console.error('Language load failed:', e);\n return [];\n }\n })();\n\n languageCache.set(cacheKey, loadPromise);\n return loadPromise;\n}\n"],"mappings":"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","names":["module"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coze-editor/preset-code-languages",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "preset-code-languages",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "zhangyi",
|
|
@@ -33,8 +33,10 @@
|
|
|
33
33
|
"@codemirror/lang-sql": "^6.10.0",
|
|
34
34
|
"@codemirror/lang-vue": "^0.1.3",
|
|
35
35
|
"@codemirror/lang-wast": "^6.0.2",
|
|
36
|
-
"@coze-editor/code-language-shell": "0.1.0
|
|
37
|
-
"@coze-editor/core": "0.1.0
|
|
36
|
+
"@coze-editor/code-language-shell": "0.1.0",
|
|
37
|
+
"@coze-editor/core": "0.1.0",
|
|
38
|
+
"@coze-editor/core-plugins": "0.1.0",
|
|
39
|
+
"@coze-editor/utils": "0.1.0"
|
|
38
40
|
},
|
|
39
41
|
"devDependencies": {
|
|
40
42
|
"@codemirror/language": "^6.10.1",
|