react-monaco-editor-view 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/index.d.mts +41 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +57 -0
- package/dist/index.mjs.map +1 -0
- package/dist/vs/_commonjsHelpers-CT9FvmAN.js +1 -0
- package/dist/vs/abap-D-t0cyap.js +1 -0
- package/dist/vs/apex-CcIm7xu6.js +1 -0
- package/dist/vs/assets/css.worker-cO8rX8Iy.js +93 -0
- package/dist/vs/assets/editor.worker-DM0G1eFj.js +26 -0
- package/dist/vs/assets/html.worker-BruuIJkK.js +470 -0
- package/dist/vs/assets/json.worker-DghZTZS7.js +58 -0
- package/dist/vs/assets/ts.worker-C4E4vgbE.js +51330 -0
- package/dist/vs/azcli-BA0tQDCg.js +1 -0
- package/dist/vs/basic-languages/monaco.contribution.js +1 -0
- package/dist/vs/bat-C397hTD6.js +1 -0
- package/dist/vs/bicep-DF5aW17k.js +2 -0
- package/dist/vs/cameligo-plsz8qhj.js +1 -0
- package/dist/vs/clojure-Y2auQMzK.js +1 -0
- package/dist/vs/coffee-Bu45yuWE.js +1 -0
- package/dist/vs/cpp-CkKPQIni.js +1 -0
- package/dist/vs/csharp-CX28MZyh.js +1 -0
- package/dist/vs/csp-D8uWnyxW.js +1 -0
- package/dist/vs/css-CaeNmE3S.js +3 -0
- package/dist/vs/cssMode-CGp6dFmI.js +1 -0
- package/dist/vs/cypher-DVThT8BS.js +1 -0
- package/dist/vs/dart-CmGfCvrO.js +1 -0
- package/dist/vs/dockerfile-CZqqYdch.js +1 -0
- package/dist/vs/ecl-30fUercY.js +1 -0
- package/dist/vs/editor/editor.main.css +1 -0
- package/dist/vs/editor/editor.main.js +1 -0
- package/dist/vs/editor.api-i0YVFWkl.js +900 -0
- package/dist/vs/elixir-xjPaIfzF.js +1 -0
- package/dist/vs/flow9-DqtmStfK.js +1 -0
- package/dist/vs/freemarker2-CJME-ah8.js +3 -0
- package/dist/vs/fsharp-BOMdg4U1.js +1 -0
- package/dist/vs/go-D_hbi-Jt.js +1 -0
- package/dist/vs/graphql-CKUU4kLG.js +1 -0
- package/dist/vs/handlebars-NccI6MVO.js +1 -0
- package/dist/vs/hcl-DTaboeZW.js +1 -0
- package/dist/vs/html-K7M-xuod.js +1 -0
- package/dist/vs/htmlMode-DtjCNH-N.js +1 -0
- package/dist/vs/ini-CsNwO04R.js +1 -0
- package/dist/vs/java-CI4ZMsH9.js +1 -0
- package/dist/vs/javascript-CUpTMdAr.js +1 -0
- package/dist/vs/jsonMode-CJjR_ECa.js +7 -0
- package/dist/vs/julia-BwzEvaQw.js +1 -0
- package/dist/vs/kotlin-BLeVJFaw.js +1 -0
- package/dist/vs/language/css/monaco.contribution.js +1 -0
- package/dist/vs/language/html/monaco.contribution.js +1 -0
- package/dist/vs/language/json/monaco.contribution.js +1 -0
- package/dist/vs/language/typescript/monaco.contribution.js +1 -0
- package/dist/vs/less-C0eDYdqa.js +2 -0
- package/dist/vs/lexon-iON-Kj97.js +1 -0
- package/dist/vs/liquid-STktYroN.js +1 -0
- package/dist/vs/loader.js +1368 -0
- package/dist/vs/lspLanguageFeatures-A02kBDb6.js +4 -0
- package/dist/vs/lua-DtygF91M.js +1 -0
- package/dist/vs/m3-CsR4AuFi.js +1 -0
- package/dist/vs/markdown-C_rD0bIw.js +1 -0
- package/dist/vs/mdx-C6mq4H94.js +1 -0
- package/dist/vs/mips-CiYP61RB.js +1 -0
- package/dist/vs/msdax-C38-sJlp.js +1 -0
- package/dist/vs/mysql-CdtbpvbG.js +1 -0
- package/dist/vs/nls.messages-loader.js +1 -0
- package/dist/vs/nls.messages.de.js +17 -0
- package/dist/vs/nls.messages.es.js +17 -0
- package/dist/vs/nls.messages.fr.js +15 -0
- package/dist/vs/nls.messages.it.js +15 -0
- package/dist/vs/nls.messages.ja.js +17 -0
- package/dist/vs/nls.messages.ko.js +25 -0
- package/dist/vs/nls.messages.ru.js +17 -0
- package/dist/vs/nls.messages.zh-cn.js +17 -0
- package/dist/vs/nls.messages.zh-tw.js +15 -0
- package/dist/vs/objective-c-CntZFaHX.js +1 -0
- package/dist/vs/pascal-r6kuqfl_.js +1 -0
- package/dist/vs/pascaligo-BiXoTmXh.js +1 -0
- package/dist/vs/perl-DABw_TcH.js +1 -0
- package/dist/vs/pgsql-me_jFXeX.js +1 -0
- package/dist/vs/php-D_kh-9LK.js +1 -0
- package/dist/vs/pla-VfZjczW0.js +1 -0
- package/dist/vs/postiats-BBSzz8Pk.js +1 -0
- package/dist/vs/powerquery-Dt-g_2cc.js +1 -0
- package/dist/vs/powershell-B-7ap1zc.js +1 -0
- package/dist/vs/protobuf-BmtuEB1A.js +2 -0
- package/dist/vs/pug-BRpRNeEb.js +1 -0
- package/dist/vs/python-B-Y2SC3b.js +1 -0
- package/dist/vs/qsharp-BzsFaUU9.js +1 -0
- package/dist/vs/r-f8dDdrp4.js +1 -0
- package/dist/vs/razor-JzN5FpSg.js +1 -0
- package/dist/vs/redis-fvZQY4PI.js +1 -0
- package/dist/vs/redshift-45Et0LQi.js +1 -0
- package/dist/vs/restructuredtext-C7UUFKFD.js +1 -0
- package/dist/vs/ruby-CZO8zYTz.js +1 -0
- package/dist/vs/rust-Bfetafyc.js +1 -0
- package/dist/vs/sb-3GYllVck.js +1 -0
- package/dist/vs/scala-foMgrKo1.js +1 -0
- package/dist/vs/scheme-CHdMtr7p.js +1 -0
- package/dist/vs/scss-C1cmLt9V.js +3 -0
- package/dist/vs/shell-ClXCKCEW.js +1 -0
- package/dist/vs/solidity-MZ6ExpPy.js +1 -0
- package/dist/vs/sophia-DWkuSsPQ.js +1 -0
- package/dist/vs/sparql-AUGFYSyk.js +1 -0
- package/dist/vs/sql-32GpJSV2.js +1 -0
- package/dist/vs/st-CuDFIVZ_.js +1 -0
- package/dist/vs/swift-n-2HociN.js +3 -0
- package/dist/vs/systemverilog-Ch4vA8Yt.js +1 -0
- package/dist/vs/tcl-D74tq1nH.js +1 -0
- package/dist/vs/tsMode-i88JHxDY.js +11 -0
- package/dist/vs/twig-C6taOxMV.js +1 -0
- package/dist/vs/typescript-4zug7YwV.js +1 -0
- package/dist/vs/typespec-D-PIh9Xw.js +1 -0
- package/dist/vs/vb-Dyb2648j.js +1 -0
- package/dist/vs/wgsl-BhLXMOR0.js +298 -0
- package/dist/vs/workers-CbP2cVmy.js +1 -0
- package/dist/vs/xml-DRHZuZwg.js +1 -0
- package/dist/vs/yaml-CkWIGXBM.js +1 -0
- package/package.json +47 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as _monaco_editor_react from '@monaco-editor/react';
|
|
3
|
+
import { OnMount, EditorProps } from '@monaco-editor/react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 本包构建会将 `public/vs` 复制到发布目录下的 `dist/vs`,默认前缀由此解析(相对 `dist/index.{mjs,js}`)。
|
|
7
|
+
* 若宿主把整个库打进单文件 bundle,`import.meta.url` 可能不再指向本包文件,此时请显式传 `monacoVsPath` 或调用 `configureMonacoVsPath`。
|
|
8
|
+
*/
|
|
9
|
+
declare function getDefaultMonacoVsPath(): string;
|
|
10
|
+
/** 与 {@link getDefaultMonacoVsPath} 在模块加载时解析一次的结果相同 */
|
|
11
|
+
declare const DEFAULT_MONACO_VS_PATH: string;
|
|
12
|
+
|
|
13
|
+
/** 与 `OnMount` 第一个参数一致,避免直接依赖 `monaco-editor` 包做类型解析 */
|
|
14
|
+
type MonacoStandaloneEditor = Parameters<OnMount>[0];
|
|
15
|
+
type MonacoEditorViewRef = {
|
|
16
|
+
/** 当前挂载的编辑器实例,未挂载时为 null */
|
|
17
|
+
getEditor: () => MonacoStandaloneEditor | null;
|
|
18
|
+
/** 等价于 getEditor()?.getValue() */
|
|
19
|
+
getValue: () => string | undefined;
|
|
20
|
+
};
|
|
21
|
+
type MonacoEditorViewProps = EditorProps & {
|
|
22
|
+
/**
|
|
23
|
+
* Monaco AMD `vs` 目录的 URL 前缀(`loader.config`)。
|
|
24
|
+
* - 未传:优先沿用入口 `configureMonacoVsPath` 已设路径;否则使用包内 `dist/vs`(由构建自 `public/vs` 复制)。
|
|
25
|
+
* - 字符串:使用该地址,不使用包内默认。
|
|
26
|
+
* - `false`:不调用 `loader.config`,沿用 `@monaco-editor/react` 默认(通常为 CDN)。
|
|
27
|
+
*/
|
|
28
|
+
monacoVsPath?: string | false;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 在应用入口可选调用一次,统一指定 Monaco `vs` 目录 URL。
|
|
33
|
+
* - 不传参:使用包内随 `dist/vs` 发布的资源(构建由 `public/vs` 复制而来)。
|
|
34
|
+
* - 传参:使用自定义地址(CDN、宿主静态目录等)。
|
|
35
|
+
*/
|
|
36
|
+
declare function configureMonacoVsPath(vsPath?: string): void;
|
|
37
|
+
declare const MonacoEditorView: react.ForwardRefExoticComponent<_monaco_editor_react.EditorProps & {
|
|
38
|
+
monacoVsPath?: string | false;
|
|
39
|
+
} & react.RefAttributes<MonacoEditorViewRef>>;
|
|
40
|
+
|
|
41
|
+
export { DEFAULT_MONACO_VS_PATH, MonacoEditorView, type MonacoEditorViewProps, type MonacoEditorViewRef, type MonacoStandaloneEditor, configureMonacoVsPath, getDefaultMonacoVsPath };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as _monaco_editor_react from '@monaco-editor/react';
|
|
3
|
+
import { OnMount, EditorProps } from '@monaco-editor/react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 本包构建会将 `public/vs` 复制到发布目录下的 `dist/vs`,默认前缀由此解析(相对 `dist/index.{mjs,js}`)。
|
|
7
|
+
* 若宿主把整个库打进单文件 bundle,`import.meta.url` 可能不再指向本包文件,此时请显式传 `monacoVsPath` 或调用 `configureMonacoVsPath`。
|
|
8
|
+
*/
|
|
9
|
+
declare function getDefaultMonacoVsPath(): string;
|
|
10
|
+
/** 与 {@link getDefaultMonacoVsPath} 在模块加载时解析一次的结果相同 */
|
|
11
|
+
declare const DEFAULT_MONACO_VS_PATH: string;
|
|
12
|
+
|
|
13
|
+
/** 与 `OnMount` 第一个参数一致,避免直接依赖 `monaco-editor` 包做类型解析 */
|
|
14
|
+
type MonacoStandaloneEditor = Parameters<OnMount>[0];
|
|
15
|
+
type MonacoEditorViewRef = {
|
|
16
|
+
/** 当前挂载的编辑器实例,未挂载时为 null */
|
|
17
|
+
getEditor: () => MonacoStandaloneEditor | null;
|
|
18
|
+
/** 等价于 getEditor()?.getValue() */
|
|
19
|
+
getValue: () => string | undefined;
|
|
20
|
+
};
|
|
21
|
+
type MonacoEditorViewProps = EditorProps & {
|
|
22
|
+
/**
|
|
23
|
+
* Monaco AMD `vs` 目录的 URL 前缀(`loader.config`)。
|
|
24
|
+
* - 未传:优先沿用入口 `configureMonacoVsPath` 已设路径;否则使用包内 `dist/vs`(由构建自 `public/vs` 复制)。
|
|
25
|
+
* - 字符串:使用该地址,不使用包内默认。
|
|
26
|
+
* - `false`:不调用 `loader.config`,沿用 `@monaco-editor/react` 默认(通常为 CDN)。
|
|
27
|
+
*/
|
|
28
|
+
monacoVsPath?: string | false;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 在应用入口可选调用一次,统一指定 Monaco `vs` 目录 URL。
|
|
33
|
+
* - 不传参:使用包内随 `dist/vs` 发布的资源(构建由 `public/vs` 复制而来)。
|
|
34
|
+
* - 传参:使用自定义地址(CDN、宿主静态目录等)。
|
|
35
|
+
*/
|
|
36
|
+
declare function configureMonacoVsPath(vsPath?: string): void;
|
|
37
|
+
declare const MonacoEditorView: react.ForwardRefExoticComponent<_monaco_editor_react.EditorProps & {
|
|
38
|
+
monacoVsPath?: string | false;
|
|
39
|
+
} & react.RefAttributes<MonacoEditorViewRef>>;
|
|
40
|
+
|
|
41
|
+
export { DEFAULT_MONACO_VS_PATH, MonacoEditorView, type MonacoEditorViewProps, type MonacoEditorViewRef, type MonacoStandaloneEditor, configureMonacoVsPath, getDefaultMonacoVsPath };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Editor = require('@monaco-editor/react');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
8
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
|
|
10
|
+
var Editor__default = /*#__PURE__*/_interopDefault(Editor);
|
|
11
|
+
|
|
12
|
+
// src/constants.ts
|
|
13
|
+
function getDefaultMonacoVsPath() {
|
|
14
|
+
try {
|
|
15
|
+
return new URL("./vs/", (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.js', document.baseURI).href))).href;
|
|
16
|
+
} catch {
|
|
17
|
+
return "/vs";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
var DEFAULT_MONACO_VS_PATH = getDefaultMonacoVsPath();
|
|
21
|
+
var vsPathFromConfigureApi = null;
|
|
22
|
+
function resolveVsPath(monacoVsPath) {
|
|
23
|
+
if (monacoVsPath === false) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (monacoVsPath !== void 0) {
|
|
27
|
+
return monacoVsPath;
|
|
28
|
+
}
|
|
29
|
+
if (vsPathFromConfigureApi !== null) {
|
|
30
|
+
return vsPathFromConfigureApi;
|
|
31
|
+
}
|
|
32
|
+
return getDefaultMonacoVsPath();
|
|
33
|
+
}
|
|
34
|
+
function configureMonacoVsPath(vsPath) {
|
|
35
|
+
const vs = vsPath ?? getDefaultMonacoVsPath();
|
|
36
|
+
vsPathFromConfigureApi = vs;
|
|
37
|
+
Editor.loader.config({ paths: { vs } });
|
|
38
|
+
}
|
|
39
|
+
function MonacoEditorViewInner(props, ref) {
|
|
40
|
+
const { monacoVsPath, onMount: userOnMount, ...editorProps } = props;
|
|
41
|
+
const editorRef = react.useRef(null);
|
|
42
|
+
react.useEffect(() => {
|
|
43
|
+
const vs = resolveVsPath(monacoVsPath);
|
|
44
|
+
if (vs === false) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
Editor.loader.config({ paths: { vs } });
|
|
48
|
+
}, [monacoVsPath]);
|
|
49
|
+
react.useImperativeHandle(ref, () => ({
|
|
50
|
+
getEditor: () => editorRef.current,
|
|
51
|
+
getValue: () => editorRef.current?.getValue()
|
|
52
|
+
}));
|
|
53
|
+
const handleMount = (ed, monaco) => {
|
|
54
|
+
editorRef.current = ed;
|
|
55
|
+
userOnMount?.(ed, monaco);
|
|
56
|
+
};
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Editor__default.default, { ...editorProps, onMount: handleMount });
|
|
58
|
+
}
|
|
59
|
+
var MonacoEditorView = react.forwardRef(MonacoEditorViewInner);
|
|
60
|
+
MonacoEditorView.displayName = "MonacoEditorView";
|
|
61
|
+
|
|
62
|
+
exports.DEFAULT_MONACO_VS_PATH = DEFAULT_MONACO_VS_PATH;
|
|
63
|
+
exports.MonacoEditorView = MonacoEditorView;
|
|
64
|
+
exports.configureMonacoVsPath = configureMonacoVsPath;
|
|
65
|
+
exports.getDefaultMonacoVsPath = getDefaultMonacoVsPath;
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts","../src/MonacoEditorView.tsx"],"names":["loader","useRef","useEffect","useImperativeHandle","jsx","Editor","forwardRef"],"mappings":";;;;;;;;;;;;AAIO,SAAS,sBAAA,GAAiC;AAC/C,EAAA,IAAI;AACF,IAAA,OAAO,IAAI,GAAA,CAAI,OAAA,EAAS,0PAAe,CAAA,CAAE,IAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAGO,IAAM,yBAAyB,sBAAA;ACItC,IAAI,sBAAA,GAAwC,IAAA;AAE5C,SAAS,cAAc,YAAA,EAA0D;AAC/E,EAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,iBAAiB,MAAA,EAAW;AAC9B,IAAA,OAAO,YAAA;AAAA,EACT;AACA,EAAA,IAAI,2BAA2B,IAAA,EAAM;AACnC,IAAA,OAAO,sBAAA;AAAA,EACT;AACA,EAAA,OAAO,sBAAA,EAAuB;AAChC;AAOO,SAAS,sBAAsB,MAAA,EAAiB;AACrD,EAAA,MAAM,EAAA,GAAK,UAAU,sBAAA,EAAuB;AAC5C,EAAA,sBAAA,GAAyB,EAAA;AACzB,EAAAA,aAAA,CAAO,OAAO,EAAE,KAAA,EAAO,EAAE,EAAA,IAAM,CAAA;AACjC;AAEA,SAAS,qBAAA,CACP,OACA,GAAA,EACA;AACA,EAAA,MAAM,EAAE,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,GAAG,aAAY,GAAI,KAAA;AAC/D,EAAA,MAAM,SAAA,GAAYC,aAAsC,IAAI,CAAA;AAE5D,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,EAAA,GAAK,cAAc,YAAY,CAAA;AACrC,IAAA,IAAI,OAAO,KAAA,EAAO;AAChB,MAAA;AAAA,IACF;AACA,IAAAF,aAAA,CAAO,OAAO,EAAE,KAAA,EAAO,EAAE,EAAA,IAAM,CAAA;AAAA,EACjC,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAAG,yBAAA,CAAoB,KAAK,OAAO;AAAA,IAC9B,SAAA,EAAW,MAAM,SAAA,CAAU,OAAA;AAAA,IAC3B,QAAA,EAAU,MAAM,SAAA,CAAU,OAAA,EAAS,QAAA;AAAS,GAC9C,CAAE,CAAA;AAEF,EAAA,MAAM,WAAA,GAAuB,CAAC,EAAA,EAAI,MAAA,KAAW;AAC3C,IAAA,SAAA,CAAU,OAAA,GAAU,EAAA;AACpB,IAAA,WAAA,GAAc,IAAI,MAAM,CAAA;AAAA,EAC1B,CAAA;AAEA,EAAA,uBAAOC,cAAA,CAACC,uBAAA,EAAA,EAAQ,GAAG,WAAA,EAAa,SAAS,WAAA,EAAa,CAAA;AACxD;AAEO,IAAM,gBAAA,GAAmBC,iBAG9B,qBAAqB;AAEvB,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"index.js","sourcesContent":["/**\n * 本包构建会将 `public/vs` 复制到发布目录下的 `dist/vs`,默认前缀由此解析(相对 `dist/index.{mjs,js}`)。\n * 若宿主把整个库打进单文件 bundle,`import.meta.url` 可能不再指向本包文件,此时请显式传 `monacoVsPath` 或调用 `configureMonacoVsPath`。\n */\nexport function getDefaultMonacoVsPath(): string {\n try {\n return new URL(\"./vs/\", import.meta.url).href;\n } catch {\n return \"/vs\";\n }\n}\n\n/** 与 {@link getDefaultMonacoVsPath} 在模块加载时解析一次的结果相同 */\nexport const DEFAULT_MONACO_VS_PATH = getDefaultMonacoVsPath();\n","import Editor, { loader, type OnMount } from \"@monaco-editor/react\";\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n type Ref,\n} from \"react\";\n\nimport { getDefaultMonacoVsPath } from \"./constants\";\nimport type {\n MonacoEditorViewProps,\n MonacoEditorViewRef,\n MonacoStandaloneEditor,\n} from \"./types\";\n\n/** 是否已通过 {@link configureMonacoVsPath} 设置过路径(含「使用包内默认」的一次调用) */\nlet vsPathFromConfigureApi: string | null = null;\n\nfunction resolveVsPath(monacoVsPath: string | false | undefined): string | false {\n if (monacoVsPath === false) {\n return false;\n }\n if (monacoVsPath !== undefined) {\n return monacoVsPath;\n }\n if (vsPathFromConfigureApi !== null) {\n return vsPathFromConfigureApi;\n }\n return getDefaultMonacoVsPath();\n}\n\n/**\n * 在应用入口可选调用一次,统一指定 Monaco `vs` 目录 URL。\n * - 不传参:使用包内随 `dist/vs` 发布的资源(构建由 `public/vs` 复制而来)。\n * - 传参:使用自定义地址(CDN、宿主静态目录等)。\n */\nexport function configureMonacoVsPath(vsPath?: string) {\n const vs = vsPath ?? getDefaultMonacoVsPath();\n vsPathFromConfigureApi = vs;\n loader.config({ paths: { vs } });\n}\n\nfunction MonacoEditorViewInner(\n props: MonacoEditorViewProps,\n ref: Ref<MonacoEditorViewRef>,\n) {\n const { monacoVsPath, onMount: userOnMount, ...editorProps } = props;\n const editorRef = useRef<MonacoStandaloneEditor | null>(null);\n\n useEffect(() => {\n const vs = resolveVsPath(monacoVsPath);\n if (vs === false) {\n return;\n }\n loader.config({ paths: { vs } });\n }, [monacoVsPath]);\n\n useImperativeHandle(ref, () => ({\n getEditor: () => editorRef.current,\n getValue: () => editorRef.current?.getValue(),\n }));\n\n const handleMount: OnMount = (ed, monaco) => {\n editorRef.current = ed;\n userOnMount?.(ed, monaco);\n };\n\n return <Editor {...editorProps} onMount={handleMount} />;\n}\n\nexport const MonacoEditorView = forwardRef<\n MonacoEditorViewRef,\n MonacoEditorViewProps\n>(MonacoEditorViewInner);\n\nMonacoEditorView.displayName = \"MonacoEditorView\";\n"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import Editor, { loader } from '@monaco-editor/react';
|
|
2
|
+
import { forwardRef, useRef, useEffect, useImperativeHandle } from 'react';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
// src/constants.ts
|
|
6
|
+
function getDefaultMonacoVsPath() {
|
|
7
|
+
try {
|
|
8
|
+
return new URL("./vs/", import.meta.url).href;
|
|
9
|
+
} catch {
|
|
10
|
+
return "/vs";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
var DEFAULT_MONACO_VS_PATH = getDefaultMonacoVsPath();
|
|
14
|
+
var vsPathFromConfigureApi = null;
|
|
15
|
+
function resolveVsPath(monacoVsPath) {
|
|
16
|
+
if (monacoVsPath === false) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (monacoVsPath !== void 0) {
|
|
20
|
+
return monacoVsPath;
|
|
21
|
+
}
|
|
22
|
+
if (vsPathFromConfigureApi !== null) {
|
|
23
|
+
return vsPathFromConfigureApi;
|
|
24
|
+
}
|
|
25
|
+
return getDefaultMonacoVsPath();
|
|
26
|
+
}
|
|
27
|
+
function configureMonacoVsPath(vsPath) {
|
|
28
|
+
const vs = vsPath ?? getDefaultMonacoVsPath();
|
|
29
|
+
vsPathFromConfigureApi = vs;
|
|
30
|
+
loader.config({ paths: { vs } });
|
|
31
|
+
}
|
|
32
|
+
function MonacoEditorViewInner(props, ref) {
|
|
33
|
+
const { monacoVsPath, onMount: userOnMount, ...editorProps } = props;
|
|
34
|
+
const editorRef = useRef(null);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const vs = resolveVsPath(monacoVsPath);
|
|
37
|
+
if (vs === false) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
loader.config({ paths: { vs } });
|
|
41
|
+
}, [monacoVsPath]);
|
|
42
|
+
useImperativeHandle(ref, () => ({
|
|
43
|
+
getEditor: () => editorRef.current,
|
|
44
|
+
getValue: () => editorRef.current?.getValue()
|
|
45
|
+
}));
|
|
46
|
+
const handleMount = (ed, monaco) => {
|
|
47
|
+
editorRef.current = ed;
|
|
48
|
+
userOnMount?.(ed, monaco);
|
|
49
|
+
};
|
|
50
|
+
return /* @__PURE__ */ jsx(Editor, { ...editorProps, onMount: handleMount });
|
|
51
|
+
}
|
|
52
|
+
var MonacoEditorView = forwardRef(MonacoEditorViewInner);
|
|
53
|
+
MonacoEditorView.displayName = "MonacoEditorView";
|
|
54
|
+
|
|
55
|
+
export { DEFAULT_MONACO_VS_PATH, MonacoEditorView, configureMonacoVsPath, getDefaultMonacoVsPath };
|
|
56
|
+
//# sourceMappingURL=index.mjs.map
|
|
57
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts","../src/MonacoEditorView.tsx"],"names":[],"mappings":";;;;;AAIO,SAAS,sBAAA,GAAiC;AAC/C,EAAA,IAAI;AACF,IAAA,OAAO,IAAI,GAAA,CAAI,OAAA,EAAS,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA,CAAE,IAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAGO,IAAM,yBAAyB,sBAAA;ACItC,IAAI,sBAAA,GAAwC,IAAA;AAE5C,SAAS,cAAc,YAAA,EAA0D;AAC/E,EAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,iBAAiB,MAAA,EAAW;AAC9B,IAAA,OAAO,YAAA;AAAA,EACT;AACA,EAAA,IAAI,2BAA2B,IAAA,EAAM;AACnC,IAAA,OAAO,sBAAA;AAAA,EACT;AACA,EAAA,OAAO,sBAAA,EAAuB;AAChC;AAOO,SAAS,sBAAsB,MAAA,EAAiB;AACrD,EAAA,MAAM,EAAA,GAAK,UAAU,sBAAA,EAAuB;AAC5C,EAAA,sBAAA,GAAyB,EAAA;AACzB,EAAA,MAAA,CAAO,OAAO,EAAE,KAAA,EAAO,EAAE,EAAA,IAAM,CAAA;AACjC;AAEA,SAAS,qBAAA,CACP,OACA,GAAA,EACA;AACA,EAAA,MAAM,EAAE,YAAA,EAAc,OAAA,EAAS,WAAA,EAAa,GAAG,aAAY,GAAI,KAAA;AAC/D,EAAA,MAAM,SAAA,GAAY,OAAsC,IAAI,CAAA;AAE5D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,EAAA,GAAK,cAAc,YAAY,CAAA;AACrC,IAAA,IAAI,OAAO,KAAA,EAAO;AAChB,MAAA;AAAA,IACF;AACA,IAAA,MAAA,CAAO,OAAO,EAAE,KAAA,EAAO,EAAE,EAAA,IAAM,CAAA;AAAA,EACjC,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,mBAAA,CAAoB,KAAK,OAAO;AAAA,IAC9B,SAAA,EAAW,MAAM,SAAA,CAAU,OAAA;AAAA,IAC3B,QAAA,EAAU,MAAM,SAAA,CAAU,OAAA,EAAS,QAAA;AAAS,GAC9C,CAAE,CAAA;AAEF,EAAA,MAAM,WAAA,GAAuB,CAAC,EAAA,EAAI,MAAA,KAAW;AAC3C,IAAA,SAAA,CAAU,OAAA,GAAU,EAAA;AACpB,IAAA,WAAA,GAAc,IAAI,MAAM,CAAA;AAAA,EAC1B,CAAA;AAEA,EAAA,uBAAO,GAAA,CAAC,MAAA,EAAA,EAAQ,GAAG,WAAA,EAAa,SAAS,WAAA,EAAa,CAAA;AACxD;AAEO,IAAM,gBAAA,GAAmB,WAG9B,qBAAqB;AAEvB,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"index.mjs","sourcesContent":["/**\n * 本包构建会将 `public/vs` 复制到发布目录下的 `dist/vs`,默认前缀由此解析(相对 `dist/index.{mjs,js}`)。\n * 若宿主把整个库打进单文件 bundle,`import.meta.url` 可能不再指向本包文件,此时请显式传 `monacoVsPath` 或调用 `configureMonacoVsPath`。\n */\nexport function getDefaultMonacoVsPath(): string {\n try {\n return new URL(\"./vs/\", import.meta.url).href;\n } catch {\n return \"/vs\";\n }\n}\n\n/** 与 {@link getDefaultMonacoVsPath} 在模块加载时解析一次的结果相同 */\nexport const DEFAULT_MONACO_VS_PATH = getDefaultMonacoVsPath();\n","import Editor, { loader, type OnMount } from \"@monaco-editor/react\";\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n type Ref,\n} from \"react\";\n\nimport { getDefaultMonacoVsPath } from \"./constants\";\nimport type {\n MonacoEditorViewProps,\n MonacoEditorViewRef,\n MonacoStandaloneEditor,\n} from \"./types\";\n\n/** 是否已通过 {@link configureMonacoVsPath} 设置过路径(含「使用包内默认」的一次调用) */\nlet vsPathFromConfigureApi: string | null = null;\n\nfunction resolveVsPath(monacoVsPath: string | false | undefined): string | false {\n if (monacoVsPath === false) {\n return false;\n }\n if (monacoVsPath !== undefined) {\n return monacoVsPath;\n }\n if (vsPathFromConfigureApi !== null) {\n return vsPathFromConfigureApi;\n }\n return getDefaultMonacoVsPath();\n}\n\n/**\n * 在应用入口可选调用一次,统一指定 Monaco `vs` 目录 URL。\n * - 不传参:使用包内随 `dist/vs` 发布的资源(构建由 `public/vs` 复制而来)。\n * - 传参:使用自定义地址(CDN、宿主静态目录等)。\n */\nexport function configureMonacoVsPath(vsPath?: string) {\n const vs = vsPath ?? getDefaultMonacoVsPath();\n vsPathFromConfigureApi = vs;\n loader.config({ paths: { vs } });\n}\n\nfunction MonacoEditorViewInner(\n props: MonacoEditorViewProps,\n ref: Ref<MonacoEditorViewRef>,\n) {\n const { monacoVsPath, onMount: userOnMount, ...editorProps } = props;\n const editorRef = useRef<MonacoStandaloneEditor | null>(null);\n\n useEffect(() => {\n const vs = resolveVsPath(monacoVsPath);\n if (vs === false) {\n return;\n }\n loader.config({ paths: { vs } });\n }, [monacoVsPath]);\n\n useImperativeHandle(ref, () => ({\n getEditor: () => editorRef.current,\n getValue: () => editorRef.current?.getValue(),\n }));\n\n const handleMount: OnMount = (ed, monaco) => {\n editorRef.current = ed;\n userOnMount?.(ed, monaco);\n };\n\n return <Editor {...editorProps} onMount={handleMount} />;\n}\n\nexport const MonacoEditorView = forwardRef<\n MonacoEditorViewRef,\n MonacoEditorViewProps\n>(MonacoEditorViewInner);\n\nMonacoEditorView.displayName = \"MonacoEditorView\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
define("vs/_commonjsHelpers-CT9FvmAN",["exports"],(function(t){"use strict";function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}t.getDefaultExportFromCjs=o}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
define("vs/abap-D-t0cyap",["exports"],(function(e){"use strict";const t={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},n={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","match","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","no-scrolling","no-sign","no-title","no-topofpage","no-zero","node","nodes","non-unicode","non-unique","not","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","or","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replace","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","table","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","translate","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abap_system_timezone","abap_user_timezone","access","action","adabas","adjust_numbers","allow_precision_loss","allowed","amdp","applicationuser","as_geo_json","as400","associations","balance","behavior","breakup","bulk","cds","cds_client","check_before_save","child","clients","corr","corr_spearman","cross","cycles","datn_add_days","datn_add_months","datn_days_between","dats_from_datn","dats_tims_to_tstmp","dats_to_datn","db2","db6","ddl","dense_rank","depth","deterministic","discarding","entities","entity","error","failed","finalize","first_value","fltp_to_dec","following","fractional","full","graph","grouping","hierarchy","hierarchy_ancestors","hierarchy_ancestors_aggregate","hierarchy_descendants","hierarchy_descendants_aggregate","hierarchy_siblings","incremental","indicators","lag","last_value","lead","leaves","like_regexpr","link","locale_sap","lock","locks","many","mapped","matched","measures","median","mssqlnt","multiple","nodetype","ntile","nulls","occurrences_regexpr","one","operations","oracle","orphans","over","parent","parents","partition","pcre","period","pfcg_mapping","preceding","privileged","product","projection","rank","redirected","replace_regexpr","reported","response","responses","root","row","row_number","sap_system_date","save","schema","session","sets","shortdump","siblings","spantree","start","stddev","string_agg","subtotal","sybase","tims_from_timn","tims_to_timn","to_blob","to_clob","total","trace-entry","tstmp_to_dats","tstmp_to_dst","tstmp_to_tims","tstmpl_from_utcl","tstmpl_to_utcl","unbounded","utcl_add_seconds","utcl_current","utcl_seconds_between","uuid","var","verbatim"],builtinFunctions:["abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","ipow","line_exists","line_index","log","log10","matches","nmax","nmin","numofchar","repeat","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","accp","char","clnt","cuky","curr","datn","dats","d16d","d16n","d16r","d34d","d34n","d34r","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","geom_ewkb","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","timn","tims","unit","utcl","df16_scl","df34_scl","prec","varc","abap_bool","abap_false","abap_true","abap_undefined","me","screen","space","super","sy","syst","table_line","*sys*"],builtinMethods:["class_constructor","constructor"],derivedTypes:["%CID","%CID_REF","%CONTROL","%DATA","%ELEMENT","%FAIL","%KEY","%MSG","%PARAM","%PID","%PID_ASSOC","%PID_PARENT","%_HINTS"],cdsLanguage:["@AbapAnnotation","@AbapCatalog","@AccessControl","@API","@ClientDependent","@ClientHandling","@CompatibilityContract","@DataAging","@EndUserText","@Environment","@LanguageDependency","@MappingRole","@Metadata","@MetadataExtension","@ObjectModel","@Scope","@Semantics","$EXTENSION","$SELF"],selectors:["->","->*","=>","~","~*"],operators:[" +"," -","/","*","**","div","mod","=","#","@","+=","-=","*=","/=","**=","&&=","?=","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","<"," >","<=",">=","<>","><","=<","=>","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","le","lt","na","nb","ne","np","ns","*/","*:","--","/*","//"],symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@cdsLanguage":"annotation","@derivedTypes":"type","@builtinFunctions":"type","@builtinMethods":"type","@operators":"key","@default":"identifier"}}],[/<[\w]+>/,"identifier"],[/##[\w|_]+/,"comment"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@selectors":"tag","@operators":"key","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
define("vs/apex-CcIm7xu6",["exports"],(function(s){"use strict";const o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],i=e=>e.charAt(0).toUpperCase()+e.substr(1);let t=[];n.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(i(e))});const a={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};s.conf=o,s.language=a,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|