@univerjs/uniscript 0.4.0-alpha.0 → 0.4.0-nightly.202410121605
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/abap-BZS-1p12.js +6 -0
- package/lib/abap-D8H3nII2.mjs +1404 -0
- package/lib/apex-B2xdRF0k.js +6 -0
- package/lib/apex-BVHYDV51.mjs +334 -0
- package/lib/azcli-BwJ4gbR1.mjs +74 -0
- package/lib/azcli-CKk2q0zF.js +6 -0
- package/lib/bat-BDmMqWXx.mjs +106 -0
- package/lib/bat-Ehz5Z_mk.js +6 -0
- package/lib/bicep-B5L2IbSj.mjs +110 -0
- package/lib/bicep-WbLMPUMj.js +7 -0
- package/lib/cameligo-B_ldnAvM.js +6 -0
- package/lib/cameligo-CmyOPZUd.mjs +180 -0
- package/lib/cjs/index.js +1 -9
- package/lib/clojure-Dg-qgg-1.js +6 -0
- package/lib/clojure-iSXHsTlR.mjs +767 -0
- package/lib/coffee-BCg0pb49.js +6 -0
- package/lib/coffee-BUCk2FHC.mjs +238 -0
- package/lib/cpp-CJWZ7Zo7.js +6 -0
- package/lib/cpp-MUyeqRt5.mjs +395 -0
- package/lib/csharp-B9vyMfVU.mjs +332 -0
- package/lib/csharp-BZypj8XG.js +6 -0
- package/lib/csp-BfXxGnNN.js +6 -0
- package/lib/csp-CbylPXe5.mjs +59 -0
- package/lib/css-BPDnvT2s.js +8 -0
- package/lib/css-BQSMT8k7.mjs +193 -0
- package/lib/cssMode-B_of5tVd.js +9 -0
- package/lib/cssMode-BuX-eUHc.mjs +1604 -0
- package/lib/cypher-3bNWMNCJ.js +6 -0
- package/lib/cypher-D7IWy_82.mjs +269 -0
- package/lib/dart-BCVbUKaH.mjs +287 -0
- package/lib/dart-C9Glm5m-.js +6 -0
- package/lib/dockerfile-CjnlcV5o.js +6 -0
- package/lib/dockerfile-D2-hSnDX.mjs +136 -0
- package/lib/ecl-DRJlPmOb.mjs +462 -0
- package/lib/ecl-UyoSfv7F.js +6 -0
- package/lib/elixir-Bol0p0Ia.js +6 -0
- package/lib/elixir-D8NBXKCb.mjs +575 -0
- package/lib/es/index.js +5 -262
- package/lib/flow9-Be1OUdJl.js +6 -0
- package/lib/flow9-Dp7h8rKW.mjs +148 -0
- package/lib/freemarker2-D8-fH4uC.mjs +1001 -0
- package/lib/freemarker2-S5ay_GEf.js +8 -0
- package/lib/fsharp-CJxdVP7r.mjs +223 -0
- package/lib/fsharp-CKIYWNYJ.js +6 -0
- package/lib/go-DWj6zslQ.js +6 -0
- package/lib/go-IPaMO3Uz.mjs +224 -0
- package/lib/graphql-BzJpwfxN.js +6 -0
- package/lib/graphql-CMoDK5uf.mjs +157 -0
- package/lib/handlebars-CEMNnGaU.mjs +427 -0
- package/lib/handlebars-CM3PRDRO.js +6 -0
- package/lib/hcl-BCY6T0iq.js +6 -0
- package/lib/hcl-BTAYK4pT.mjs +189 -0
- package/lib/html-BSUn7oJR.mjs +316 -0
- package/lib/html-Df-Osxjs.js +6 -0
- package/lib/htmlMode-Bj4CfAzA.js +9 -0
- package/lib/htmlMode-xJPwX0cD.mjs +1615 -0
- package/lib/index-D6nY5NdF.mjs +116821 -0
- package/lib/index-rYV4VmC2.js +1163 -0
- package/lib/index.css +1 -1
- package/lib/ini-CC3_THb4.js +6 -0
- package/lib/ini-CiaphB6F.mjs +77 -0
- package/lib/java-CwRV8Dsg.js +6 -0
- package/lib/java-DxksziCw.mjs +238 -0
- package/lib/javascript-D1eKEotE.js +6 -0
- package/lib/javascript-c8D1_K05.mjs +76 -0
- package/lib/jsonMode-8-L3-E9k.mjs +2042 -0
- package/lib/jsonMode-BdBVsN9_.js +15 -0
- package/lib/julia-7Z1jwT4W.js +6 -0
- package/lib/julia-TTty8och.mjs +517 -0
- package/lib/kotlin-BAXgl2QX.js +6 -0
- package/lib/kotlin-Dzand-bM.mjs +259 -0
- package/lib/less-CSG9Zdoy.js +7 -0
- package/lib/less-CWDFQI_i.mjs +168 -0
- package/lib/lexon-BiTtMD9F.js +6 -0
- package/lib/lexon-bZpjZioh.mjs +163 -0
- package/lib/liquid-BmlJOXgY.js +6 -0
- package/lib/liquid-Bs7DM5cg.mjs +248 -0
- package/lib/lua-CoWYKXUu.mjs +168 -0
- package/lib/lua-o7UTFJ05.js +6 -0
- package/lib/m3-DIJY3uEe.mjs +216 -0
- package/lib/m3-DOYTRLxi.js +6 -0
- package/lib/markdown-CDlkMTMZ.mjs +235 -0
- package/lib/markdown-Di5faXtP.js +6 -0
- package/lib/mdx-BEI71kqO.mjs +173 -0
- package/lib/mdx-DJV2KJ98.js +6 -0
- package/lib/mips-CIiuS33B.mjs +204 -0
- package/lib/mips-CjGjcf9D.js +6 -0
- package/lib/msdax-4_jBeazN.mjs +381 -0
- package/lib/msdax-DZFpIwAH.js +6 -0
- package/lib/mysql-6Y0DL_eO.js +6 -0
- package/lib/mysql-D_KZRjSR.mjs +884 -0
- package/lib/objective-c-7nsY1fc1.mjs +189 -0
- package/lib/objective-c-BtrzMwBz.js +6 -0
- package/lib/pascal-BF06Dt9I.js +6 -0
- package/lib/pascal-BHpF9PW1.mjs +257 -0
- package/lib/pascaligo-BDrxVOcH.js +6 -0
- package/lib/pascaligo-C3mRbxmU.mjs +170 -0
- package/lib/perl-BMlqAyyD.js +6 -0
- package/lib/perl-F3tWDMLI.mjs +632 -0
- package/lib/pgsql-D62t1RD_.mjs +857 -0
- package/lib/pgsql-DXYBcnYD.js +6 -0
- package/lib/php-C8GGPjjI.mjs +506 -0
- package/lib/php-DmDmMNs3.js +6 -0
- package/lib/pla-2A6q3K8_.js +6 -0
- package/lib/pla-C_W_x2fV.mjs +143 -0
- package/lib/postiats-CMS8WwLg.mjs +913 -0
- package/lib/postiats-DQ-6iLGI.js +6 -0
- package/lib/powerquery-CuZPk7NC.js +6 -0
- package/lib/powerquery-Dcs0XplE.mjs +896 -0
- package/lib/powershell-Brx1N_3T.mjs +245 -0
- package/lib/powershell-D7BqJxnS.js +6 -0
- package/lib/protobuf-CkqkhuUG.js +7 -0
- package/lib/protobuf-UEJDuX6l.mjs +426 -0
- package/lib/pug-65DF18O8.js +6 -0
- package/lib/pug-LDwDmrMc.mjs +408 -0
- package/lib/python-BOeTitp9.mjs +309 -0
- package/lib/python-DRyE-VQQ.js +6 -0
- package/lib/qsharp-Cb7hPwnM.mjs +307 -0
- package/lib/qsharp-Dw07PXbd.js +6 -0
- package/lib/r-BHuY0po5.js +6 -0
- package/lib/r-BiFgSgcs.mjs +249 -0
- package/lib/razor-D0RPXCAO.mjs +558 -0
- package/lib/razor-DtDOotKq.js +6 -0
- package/lib/redis-BdzqoKC2.mjs +308 -0
- package/lib/redis-_Q4kv9ug.js +6 -0
- package/lib/redshift-DNNCHCLR.js +6 -0
- package/lib/redshift-Df6PoiEL.mjs +815 -0
- package/lib/restructuredtext-C9FM3r80.js +6 -0
- package/lib/restructuredtext-CW0ZtQ2l.mjs +180 -0
- package/lib/ruby-DyIFepcy.mjs +517 -0
- package/lib/ruby-DyJmXCYh.js +6 -0
- package/lib/rust-BiRHKB0S.mjs +349 -0
- package/lib/rust-DVvzZ_uH.js +6 -0
- package/lib/sb-CFwmZh3c.js +6 -0
- package/lib/sb-CahkGwPC.mjs +121 -0
- package/lib/scala-Cg9Wfw6B.mjs +376 -0
- package/lib/scala-DjaRe0PR.js +6 -0
- package/lib/scheme-Bqb0wlMX.mjs +114 -0
- package/lib/scheme-ZdeLzG0d.js +6 -0
- package/lib/scss-3qd2syug.mjs +268 -0
- package/lib/scss-Dqv1RljX.js +8 -0
- package/lib/shell-B5iW6U-v.mjs +227 -0
- package/lib/shell-BJ5zD_-e.js +6 -0
- package/lib/solidity-8Ys0iSgd.mjs +1373 -0
- package/lib/solidity-CagYWQAe.js +6 -0
- package/lib/sophia-PnZfErC3.mjs +205 -0
- package/lib/sophia-szuux90p.js +6 -0
- package/lib/sparql-CXz1-gkd.js +6 -0
- package/lib/sparql-CgWX-KRM.mjs +207 -0
- package/lib/sql-CN3Vg4Sm.mjs +859 -0
- package/lib/sql-CWZ5x4mg.js +6 -0
- package/lib/st-CcWMPoh3.js +6 -0
- package/lib/st-DKDuarOh.mjs +422 -0
- package/lib/swift-DUBoAkDR.js +8 -0
- package/lib/swift-DnXH6Con.mjs +318 -0
- package/lib/systemverilog-5hQzl-99.js +6 -0
- package/lib/systemverilog-pJOgZU46.mjs +582 -0
- package/lib/tcl-Bls9iNXn.mjs +238 -0
- package/lib/tcl-CiK0GhJi.js +6 -0
- package/lib/tsMode-BB2mDc5d.mjs +906 -0
- package/lib/tsMode-N-LS5RKx.js +16 -0
- package/lib/twig-B14HEeE0.mjs +398 -0
- package/lib/twig-Cbq-Ua-E.js +6 -0
- package/lib/typescript-CZplv8KD.js +6 -0
- package/lib/typescript-f9PHTVoW.mjs +351 -0
- package/lib/typespec-Br_LC070.js +6 -0
- package/lib/typespec-dAaIdBal.mjs +125 -0
- package/lib/umd/index.js +1914 -2
- package/lib/vb-B1HzwoGL.js +6 -0
- package/lib/vb-CPBujGrP.mjs +378 -0
- package/lib/wgsl-BNAUPMiJ.js +303 -0
- package/lib/wgsl-CqCqdnZC.mjs +448 -0
- package/lib/xml-BSe-ETnG.js +6 -0
- package/lib/xml-Dv0cmUxw.mjs +103 -0
- package/lib/yaml-O_DoXtBP.js +6 -0
- package/lib/yaml-eXS7QSgG.mjs +214 -0
- package/package.json +9 -16
- package/LICENSE +0 -176
@@ -0,0 +1,906 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
3
|
+
import { t as typescriptDefaults, m as monaco_editor_core_star } from "./index-D6nY5NdF.mjs";
|
4
|
+
/*!-----------------------------------------------------------------------------
|
5
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
6
|
+
* Version: 0.52.0(f6dc0eb8fce67e57f6036f4769d92c1666cdf546)
|
7
|
+
* Released under the MIT license
|
8
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
9
|
+
*-----------------------------------------------------------------------------*/
|
10
|
+
var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __hasOwnProp = Object.prototype.hasOwnProperty, __copyProps = /* @__PURE__ */ __name((to, from, except, desc) => {
|
11
|
+
if (from && typeof from == "object" || typeof from == "function")
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp2(to, key, { get: /* @__PURE__ */ __name(() => from[key], "get"), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
14
|
+
return to;
|
15
|
+
}, "__copyProps"), __reExport = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget), "__reExport"), monaco_editor_core_exports = {};
|
16
|
+
__reExport(monaco_editor_core_exports, monaco_editor_core_star);
|
17
|
+
var _a, WorkerManager = (_a = class {
|
18
|
+
constructor(_modeId, _defaults) {
|
19
|
+
this._modeId = _modeId, this._defaults = _defaults, this._worker = null, this._client = null, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker()), this._updateExtraLibsToken = 0, this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(
|
20
|
+
() => this._updateExtraLibs()
|
21
|
+
);
|
22
|
+
}
|
23
|
+
dispose() {
|
24
|
+
this._configChangeListener.dispose(), this._extraLibsChangeListener.dispose(), this._stopWorker();
|
25
|
+
}
|
26
|
+
_stopWorker() {
|
27
|
+
this._worker && (this._worker.dispose(), this._worker = null), this._client = null;
|
28
|
+
}
|
29
|
+
async _updateExtraLibs() {
|
30
|
+
if (!this._worker)
|
31
|
+
return;
|
32
|
+
const myToken = ++this._updateExtraLibsToken, proxy = await this._worker.getProxy();
|
33
|
+
this._updateExtraLibsToken === myToken && proxy.updateExtraLibs(this._defaults.getExtraLibs());
|
34
|
+
}
|
35
|
+
_getClient() {
|
36
|
+
return this._client || (this._client = (async () => (this._worker = monaco_editor_core_exports.editor.createWebWorker({
|
37
|
+
// module that exports the create() method and returns a `TypeScriptWorker` instance
|
38
|
+
moduleId: "vs/language/typescript/tsWorker",
|
39
|
+
label: this._modeId,
|
40
|
+
keepIdleModels: !0,
|
41
|
+
// passed in to the create() method
|
42
|
+
createData: {
|
43
|
+
compilerOptions: this._defaults.getCompilerOptions(),
|
44
|
+
extraLibs: this._defaults.getExtraLibs(),
|
45
|
+
customWorkerPath: this._defaults.workerOptions.customWorkerPath,
|
46
|
+
inlayHintsOptions: this._defaults.inlayHintsOptions
|
47
|
+
}
|
48
|
+
}), this._defaults.getEagerModelSync() ? await this._worker.withSyncedResources(
|
49
|
+
monaco_editor_core_exports.editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)
|
50
|
+
) : await this._worker.getProxy()))()), this._client;
|
51
|
+
}
|
52
|
+
async getLanguageServiceWorker(...resources) {
|
53
|
+
const client = await this._getClient();
|
54
|
+
return this._worker && await this._worker.withSyncedResources(resources), client;
|
55
|
+
}
|
56
|
+
}, __name(_a, "WorkerManager"), _a), libFileSet = {};
|
57
|
+
libFileSet["lib.d.ts"] = !0;
|
58
|
+
libFileSet["lib.decorators.d.ts"] = !0;
|
59
|
+
libFileSet["lib.decorators.legacy.d.ts"] = !0;
|
60
|
+
libFileSet["lib.dom.asynciterable.d.ts"] = !0;
|
61
|
+
libFileSet["lib.dom.d.ts"] = !0;
|
62
|
+
libFileSet["lib.dom.iterable.d.ts"] = !0;
|
63
|
+
libFileSet["lib.es2015.collection.d.ts"] = !0;
|
64
|
+
libFileSet["lib.es2015.core.d.ts"] = !0;
|
65
|
+
libFileSet["lib.es2015.d.ts"] = !0;
|
66
|
+
libFileSet["lib.es2015.generator.d.ts"] = !0;
|
67
|
+
libFileSet["lib.es2015.iterable.d.ts"] = !0;
|
68
|
+
libFileSet["lib.es2015.promise.d.ts"] = !0;
|
69
|
+
libFileSet["lib.es2015.proxy.d.ts"] = !0;
|
70
|
+
libFileSet["lib.es2015.reflect.d.ts"] = !0;
|
71
|
+
libFileSet["lib.es2015.symbol.d.ts"] = !0;
|
72
|
+
libFileSet["lib.es2015.symbol.wellknown.d.ts"] = !0;
|
73
|
+
libFileSet["lib.es2016.array.include.d.ts"] = !0;
|
74
|
+
libFileSet["lib.es2016.d.ts"] = !0;
|
75
|
+
libFileSet["lib.es2016.full.d.ts"] = !0;
|
76
|
+
libFileSet["lib.es2016.intl.d.ts"] = !0;
|
77
|
+
libFileSet["lib.es2017.d.ts"] = !0;
|
78
|
+
libFileSet["lib.es2017.date.d.ts"] = !0;
|
79
|
+
libFileSet["lib.es2017.full.d.ts"] = !0;
|
80
|
+
libFileSet["lib.es2017.intl.d.ts"] = !0;
|
81
|
+
libFileSet["lib.es2017.object.d.ts"] = !0;
|
82
|
+
libFileSet["lib.es2017.sharedmemory.d.ts"] = !0;
|
83
|
+
libFileSet["lib.es2017.string.d.ts"] = !0;
|
84
|
+
libFileSet["lib.es2017.typedarrays.d.ts"] = !0;
|
85
|
+
libFileSet["lib.es2018.asyncgenerator.d.ts"] = !0;
|
86
|
+
libFileSet["lib.es2018.asynciterable.d.ts"] = !0;
|
87
|
+
libFileSet["lib.es2018.d.ts"] = !0;
|
88
|
+
libFileSet["lib.es2018.full.d.ts"] = !0;
|
89
|
+
libFileSet["lib.es2018.intl.d.ts"] = !0;
|
90
|
+
libFileSet["lib.es2018.promise.d.ts"] = !0;
|
91
|
+
libFileSet["lib.es2018.regexp.d.ts"] = !0;
|
92
|
+
libFileSet["lib.es2019.array.d.ts"] = !0;
|
93
|
+
libFileSet["lib.es2019.d.ts"] = !0;
|
94
|
+
libFileSet["lib.es2019.full.d.ts"] = !0;
|
95
|
+
libFileSet["lib.es2019.intl.d.ts"] = !0;
|
96
|
+
libFileSet["lib.es2019.object.d.ts"] = !0;
|
97
|
+
libFileSet["lib.es2019.string.d.ts"] = !0;
|
98
|
+
libFileSet["lib.es2019.symbol.d.ts"] = !0;
|
99
|
+
libFileSet["lib.es2020.bigint.d.ts"] = !0;
|
100
|
+
libFileSet["lib.es2020.d.ts"] = !0;
|
101
|
+
libFileSet["lib.es2020.date.d.ts"] = !0;
|
102
|
+
libFileSet["lib.es2020.full.d.ts"] = !0;
|
103
|
+
libFileSet["lib.es2020.intl.d.ts"] = !0;
|
104
|
+
libFileSet["lib.es2020.number.d.ts"] = !0;
|
105
|
+
libFileSet["lib.es2020.promise.d.ts"] = !0;
|
106
|
+
libFileSet["lib.es2020.sharedmemory.d.ts"] = !0;
|
107
|
+
libFileSet["lib.es2020.string.d.ts"] = !0;
|
108
|
+
libFileSet["lib.es2020.symbol.wellknown.d.ts"] = !0;
|
109
|
+
libFileSet["lib.es2021.d.ts"] = !0;
|
110
|
+
libFileSet["lib.es2021.full.d.ts"] = !0;
|
111
|
+
libFileSet["lib.es2021.intl.d.ts"] = !0;
|
112
|
+
libFileSet["lib.es2021.promise.d.ts"] = !0;
|
113
|
+
libFileSet["lib.es2021.string.d.ts"] = !0;
|
114
|
+
libFileSet["lib.es2021.weakref.d.ts"] = !0;
|
115
|
+
libFileSet["lib.es2022.array.d.ts"] = !0;
|
116
|
+
libFileSet["lib.es2022.d.ts"] = !0;
|
117
|
+
libFileSet["lib.es2022.error.d.ts"] = !0;
|
118
|
+
libFileSet["lib.es2022.full.d.ts"] = !0;
|
119
|
+
libFileSet["lib.es2022.intl.d.ts"] = !0;
|
120
|
+
libFileSet["lib.es2022.object.d.ts"] = !0;
|
121
|
+
libFileSet["lib.es2022.regexp.d.ts"] = !0;
|
122
|
+
libFileSet["lib.es2022.sharedmemory.d.ts"] = !0;
|
123
|
+
libFileSet["lib.es2022.string.d.ts"] = !0;
|
124
|
+
libFileSet["lib.es2023.array.d.ts"] = !0;
|
125
|
+
libFileSet["lib.es2023.collection.d.ts"] = !0;
|
126
|
+
libFileSet["lib.es2023.d.ts"] = !0;
|
127
|
+
libFileSet["lib.es2023.full.d.ts"] = !0;
|
128
|
+
libFileSet["lib.es5.d.ts"] = !0;
|
129
|
+
libFileSet["lib.es6.d.ts"] = !0;
|
130
|
+
libFileSet["lib.esnext.collection.d.ts"] = !0;
|
131
|
+
libFileSet["lib.esnext.d.ts"] = !0;
|
132
|
+
libFileSet["lib.esnext.decorators.d.ts"] = !0;
|
133
|
+
libFileSet["lib.esnext.disposable.d.ts"] = !0;
|
134
|
+
libFileSet["lib.esnext.full.d.ts"] = !0;
|
135
|
+
libFileSet["lib.esnext.intl.d.ts"] = !0;
|
136
|
+
libFileSet["lib.esnext.object.d.ts"] = !0;
|
137
|
+
libFileSet["lib.esnext.promise.d.ts"] = !0;
|
138
|
+
libFileSet["lib.scripthost.d.ts"] = !0;
|
139
|
+
libFileSet["lib.webworker.asynciterable.d.ts"] = !0;
|
140
|
+
libFileSet["lib.webworker.d.ts"] = !0;
|
141
|
+
libFileSet["lib.webworker.importscripts.d.ts"] = !0;
|
142
|
+
libFileSet["lib.webworker.iterable.d.ts"] = !0;
|
143
|
+
function flattenDiagnosticMessageText(diag, newLine, indent = 0) {
|
144
|
+
if (typeof diag == "string")
|
145
|
+
return diag;
|
146
|
+
if (diag === void 0)
|
147
|
+
return "";
|
148
|
+
let result = "";
|
149
|
+
if (indent) {
|
150
|
+
result += newLine;
|
151
|
+
for (let i = 0; i < indent; i++)
|
152
|
+
result += " ";
|
153
|
+
}
|
154
|
+
if (result += diag.messageText, indent++, diag.next)
|
155
|
+
for (const kid of diag.next)
|
156
|
+
result += flattenDiagnosticMessageText(kid, newLine, indent);
|
157
|
+
return result;
|
158
|
+
}
|
159
|
+
__name(flattenDiagnosticMessageText, "flattenDiagnosticMessageText");
|
160
|
+
function displayPartsToString(displayParts) {
|
161
|
+
return displayParts ? displayParts.map((displayPart) => displayPart.text).join("") : "";
|
162
|
+
}
|
163
|
+
__name(displayPartsToString, "displayPartsToString");
|
164
|
+
var _a2, Adapter = (_a2 = class {
|
165
|
+
constructor(_worker) {
|
166
|
+
this._worker = _worker;
|
167
|
+
}
|
168
|
+
// protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {
|
169
|
+
// return model.getOffsetAt(position);
|
170
|
+
// }
|
171
|
+
// protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {
|
172
|
+
// return model.getPositionAt(offset);
|
173
|
+
// }
|
174
|
+
_textSpanToRange(model, span) {
|
175
|
+
let p1 = model.getPositionAt(span.start), p2 = model.getPositionAt(span.start + span.length), { lineNumber: startLineNumber, column: startColumn } = p1, { lineNumber: endLineNumber, column: endColumn } = p2;
|
176
|
+
return { startLineNumber, startColumn, endLineNumber, endColumn };
|
177
|
+
}
|
178
|
+
}, __name(_a2, "Adapter"), _a2), _a3, LibFiles = (_a3 = class {
|
179
|
+
constructor(_worker) {
|
180
|
+
this._worker = _worker, this._libFiles = {}, this._hasFetchedLibFiles = !1, this._fetchLibFilesPromise = null;
|
181
|
+
}
|
182
|
+
isLibFile(uri) {
|
183
|
+
return uri && uri.path.indexOf("/lib.") === 0 ? !!libFileSet[uri.path.slice(1)] : !1;
|
184
|
+
}
|
185
|
+
getOrCreateModel(fileName) {
|
186
|
+
const uri = monaco_editor_core_exports.Uri.parse(fileName), model = monaco_editor_core_exports.editor.getModel(uri);
|
187
|
+
if (model)
|
188
|
+
return model;
|
189
|
+
if (this.isLibFile(uri) && this._hasFetchedLibFiles)
|
190
|
+
return monaco_editor_core_exports.editor.createModel(this._libFiles[uri.path.slice(1)], "typescript", uri);
|
191
|
+
const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];
|
192
|
+
return matchedLibFile ? monaco_editor_core_exports.editor.createModel(matchedLibFile.content, "typescript", uri) : null;
|
193
|
+
}
|
194
|
+
_containsLibFile(uris) {
|
195
|
+
for (let uri of uris)
|
196
|
+
if (this.isLibFile(uri))
|
197
|
+
return !0;
|
198
|
+
return !1;
|
199
|
+
}
|
200
|
+
async fetchLibFilesIfNecessary(uris) {
|
201
|
+
this._containsLibFile(uris) && await this._fetchLibFiles();
|
202
|
+
}
|
203
|
+
_fetchLibFiles() {
|
204
|
+
return this._fetchLibFilesPromise || (this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {
|
205
|
+
this._hasFetchedLibFiles = !0, this._libFiles = libFiles;
|
206
|
+
})), this._fetchLibFilesPromise;
|
207
|
+
}
|
208
|
+
}, __name(_a3, "LibFiles"), _a3), _a4, DiagnosticsAdapter = (_a4 = class extends Adapter {
|
209
|
+
constructor(_libFiles, _defaults, _selector, worker) {
|
210
|
+
super(worker), this._libFiles = _libFiles, this._defaults = _defaults, this._selector = _selector, this._disposables = [], this._listener = /* @__PURE__ */ Object.create(null);
|
211
|
+
const onModelAdd = /* @__PURE__ */ __name((model) => {
|
212
|
+
if (model.getLanguageId() !== _selector)
|
213
|
+
return;
|
214
|
+
const maybeValidate = /* @__PURE__ */ __name(() => {
|
215
|
+
const { onlyVisible } = this._defaults.getDiagnosticsOptions();
|
216
|
+
onlyVisible ? model.isAttachedToEditor() && this._doValidate(model) : this._doValidate(model);
|
217
|
+
}, "maybeValidate");
|
218
|
+
let handle;
|
219
|
+
const changeSubscription = model.onDidChangeContent(() => {
|
220
|
+
clearTimeout(handle), handle = window.setTimeout(maybeValidate, 500);
|
221
|
+
}), visibleSubscription = model.onDidChangeAttached(() => {
|
222
|
+
const { onlyVisible } = this._defaults.getDiagnosticsOptions();
|
223
|
+
onlyVisible && (model.isAttachedToEditor() ? maybeValidate() : monaco_editor_core_exports.editor.setModelMarkers(model, this._selector, []));
|
224
|
+
});
|
225
|
+
this._listener[model.uri.toString()] = {
|
226
|
+
dispose() {
|
227
|
+
changeSubscription.dispose(), visibleSubscription.dispose(), clearTimeout(handle);
|
228
|
+
}
|
229
|
+
}, maybeValidate();
|
230
|
+
}, "onModelAdd"), onModelRemoved = /* @__PURE__ */ __name((model) => {
|
231
|
+
monaco_editor_core_exports.editor.setModelMarkers(model, this._selector, []);
|
232
|
+
const key = model.uri.toString();
|
233
|
+
this._listener[key] && (this._listener[key].dispose(), delete this._listener[key]);
|
234
|
+
}, "onModelRemoved");
|
235
|
+
this._disposables.push(
|
236
|
+
monaco_editor_core_exports.editor.onDidCreateModel((model) => onModelAdd(model))
|
237
|
+
), this._disposables.push(monaco_editor_core_exports.editor.onWillDisposeModel(onModelRemoved)), this._disposables.push(
|
238
|
+
monaco_editor_core_exports.editor.onDidChangeModelLanguage((event) => {
|
239
|
+
onModelRemoved(event.model), onModelAdd(event.model);
|
240
|
+
})
|
241
|
+
), this._disposables.push({
|
242
|
+
dispose() {
|
243
|
+
for (const model of monaco_editor_core_exports.editor.getModels())
|
244
|
+
onModelRemoved(model);
|
245
|
+
}
|
246
|
+
});
|
247
|
+
const recomputeDiagostics = /* @__PURE__ */ __name(() => {
|
248
|
+
for (const model of monaco_editor_core_exports.editor.getModels())
|
249
|
+
onModelRemoved(model), onModelAdd(model);
|
250
|
+
}, "recomputeDiagostics");
|
251
|
+
this._disposables.push(this._defaults.onDidChange(recomputeDiagostics)), this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics)), monaco_editor_core_exports.editor.getModels().forEach((model) => onModelAdd(model));
|
252
|
+
}
|
253
|
+
dispose() {
|
254
|
+
this._disposables.forEach((d) => d && d.dispose()), this._disposables = [];
|
255
|
+
}
|
256
|
+
async _doValidate(model) {
|
257
|
+
const worker = await this._worker(model.uri);
|
258
|
+
if (model.isDisposed())
|
259
|
+
return;
|
260
|
+
const promises = [], { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();
|
261
|
+
noSyntaxValidation || promises.push(worker.getSyntacticDiagnostics(model.uri.toString())), noSemanticValidation || promises.push(worker.getSemanticDiagnostics(model.uri.toString())), noSuggestionDiagnostics || promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));
|
262
|
+
const allDiagnostics = await Promise.all(promises);
|
263
|
+
if (!allDiagnostics || model.isDisposed())
|
264
|
+
return;
|
265
|
+
const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(
|
266
|
+
(d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1
|
267
|
+
), relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(
|
268
|
+
(relatedInformation) => relatedInformation.file ? monaco_editor_core_exports.Uri.parse(relatedInformation.file.fileName) : null
|
269
|
+
);
|
270
|
+
await this._libFiles.fetchLibFilesIfNecessary(relatedUris), !model.isDisposed() && monaco_editor_core_exports.editor.setModelMarkers(
|
271
|
+
model,
|
272
|
+
this._selector,
|
273
|
+
diagnostics.map((d) => this._convertDiagnostics(model, d))
|
274
|
+
);
|
275
|
+
}
|
276
|
+
_convertDiagnostics(model, diag) {
|
277
|
+
const diagStart = diag.start || 0, diagLength = diag.length || 1, { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart), { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(
|
278
|
+
diagStart + diagLength
|
279
|
+
), tags = [];
|
280
|
+
return diag.reportsUnnecessary && tags.push(monaco_editor_core_exports.MarkerTag.Unnecessary), diag.reportsDeprecated && tags.push(monaco_editor_core_exports.MarkerTag.Deprecated), {
|
281
|
+
severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),
|
282
|
+
startLineNumber,
|
283
|
+
startColumn,
|
284
|
+
endLineNumber,
|
285
|
+
endColumn,
|
286
|
+
message: flattenDiagnosticMessageText(diag.messageText, `
|
287
|
+
`),
|
288
|
+
code: diag.code.toString(),
|
289
|
+
tags,
|
290
|
+
relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)
|
291
|
+
};
|
292
|
+
}
|
293
|
+
_convertRelatedInformation(model, relatedInformation) {
|
294
|
+
if (!relatedInformation)
|
295
|
+
return [];
|
296
|
+
const result = [];
|
297
|
+
return relatedInformation.forEach((info) => {
|
298
|
+
let relatedResource = model;
|
299
|
+
if (info.file && (relatedResource = this._libFiles.getOrCreateModel(info.file.fileName)), !relatedResource)
|
300
|
+
return;
|
301
|
+
const infoStart = info.start || 0, infoLength = info.length || 1, { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart), { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(
|
302
|
+
infoStart + infoLength
|
303
|
+
);
|
304
|
+
result.push({
|
305
|
+
resource: relatedResource.uri,
|
306
|
+
startLineNumber,
|
307
|
+
startColumn,
|
308
|
+
endLineNumber,
|
309
|
+
endColumn,
|
310
|
+
message: flattenDiagnosticMessageText(info.messageText, `
|
311
|
+
`)
|
312
|
+
});
|
313
|
+
}), result;
|
314
|
+
}
|
315
|
+
_tsDiagnosticCategoryToMarkerSeverity(category) {
|
316
|
+
switch (category) {
|
317
|
+
case 1:
|
318
|
+
return monaco_editor_core_exports.MarkerSeverity.Error;
|
319
|
+
case 3:
|
320
|
+
return monaco_editor_core_exports.MarkerSeverity.Info;
|
321
|
+
case 0:
|
322
|
+
return monaco_editor_core_exports.MarkerSeverity.Warning;
|
323
|
+
case 2:
|
324
|
+
return monaco_editor_core_exports.MarkerSeverity.Hint;
|
325
|
+
}
|
326
|
+
return monaco_editor_core_exports.MarkerSeverity.Info;
|
327
|
+
}
|
328
|
+
}, __name(_a4, "DiagnosticsAdapter"), _a4), _a5, SuggestAdapter = (_a5 = class extends Adapter {
|
329
|
+
get triggerCharacters() {
|
330
|
+
return ["."];
|
331
|
+
}
|
332
|
+
async provideCompletionItems(model, position, _context, token) {
|
333
|
+
const wordInfo = model.getWordUntilPosition(position), wordRange = new monaco_editor_core_exports.Range(
|
334
|
+
position.lineNumber,
|
335
|
+
wordInfo.startColumn,
|
336
|
+
position.lineNumber,
|
337
|
+
wordInfo.endColumn
|
338
|
+
), resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
339
|
+
if (model.isDisposed())
|
340
|
+
return;
|
341
|
+
const info = await worker.getCompletionsAtPosition(resource.toString(), offset);
|
342
|
+
return !info || model.isDisposed() ? void 0 : {
|
343
|
+
suggestions: info.entries.map((entry) => {
|
344
|
+
let range = wordRange;
|
345
|
+
if (entry.replacementSpan) {
|
346
|
+
const p1 = model.getPositionAt(entry.replacementSpan.start), p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);
|
347
|
+
range = new monaco_editor_core_exports.Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);
|
348
|
+
}
|
349
|
+
const tags = [];
|
350
|
+
return entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf("deprecated") !== -1 && tags.push(monaco_editor_core_exports.languages.CompletionItemTag.Deprecated), {
|
351
|
+
uri: resource,
|
352
|
+
position,
|
353
|
+
offset,
|
354
|
+
range,
|
355
|
+
label: entry.name,
|
356
|
+
insertText: entry.name,
|
357
|
+
sortText: entry.sortText,
|
358
|
+
kind: _a5.convertKind(entry.kind),
|
359
|
+
tags
|
360
|
+
};
|
361
|
+
})
|
362
|
+
};
|
363
|
+
}
|
364
|
+
async resolveCompletionItem(item, token) {
|
365
|
+
const myItem = item, resource = myItem.uri, position = myItem.position, offset = myItem.offset, details = await (await this._worker(resource)).getCompletionEntryDetails(
|
366
|
+
resource.toString(),
|
367
|
+
offset,
|
368
|
+
myItem.label
|
369
|
+
);
|
370
|
+
return details ? {
|
371
|
+
uri: resource,
|
372
|
+
position,
|
373
|
+
label: details.name,
|
374
|
+
kind: _a5.convertKind(details.kind),
|
375
|
+
detail: displayPartsToString(details.displayParts),
|
376
|
+
documentation: {
|
377
|
+
value: _a5.createDocumentationString(details)
|
378
|
+
}
|
379
|
+
} : myItem;
|
380
|
+
}
|
381
|
+
static convertKind(kind) {
|
382
|
+
switch (kind) {
|
383
|
+
case Kind.primitiveType:
|
384
|
+
case Kind.keyword:
|
385
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Keyword;
|
386
|
+
case Kind.variable:
|
387
|
+
case Kind.localVariable:
|
388
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Variable;
|
389
|
+
case Kind.memberVariable:
|
390
|
+
case Kind.memberGetAccessor:
|
391
|
+
case Kind.memberSetAccessor:
|
392
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Field;
|
393
|
+
case Kind.function:
|
394
|
+
case Kind.memberFunction:
|
395
|
+
case Kind.constructSignature:
|
396
|
+
case Kind.callSignature:
|
397
|
+
case Kind.indexSignature:
|
398
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Function;
|
399
|
+
case Kind.enum:
|
400
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Enum;
|
401
|
+
case Kind.module:
|
402
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Module;
|
403
|
+
case Kind.class:
|
404
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Class;
|
405
|
+
case Kind.interface:
|
406
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Interface;
|
407
|
+
case Kind.warning:
|
408
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.File;
|
409
|
+
}
|
410
|
+
return monaco_editor_core_exports.languages.CompletionItemKind.Property;
|
411
|
+
}
|
412
|
+
static createDocumentationString(details) {
|
413
|
+
let documentationString = displayPartsToString(details.documentation);
|
414
|
+
if (details.tags)
|
415
|
+
for (const tag of details.tags)
|
416
|
+
documentationString += `
|
417
|
+
|
418
|
+
${tagToString(tag)}`;
|
419
|
+
return documentationString;
|
420
|
+
}
|
421
|
+
}, __name(_a5, "_SuggestAdapter"), _a5);
|
422
|
+
function tagToString(tag) {
|
423
|
+
let tagLabel = `*@${tag.name}*`;
|
424
|
+
if (tag.name === "param" && tag.text) {
|
425
|
+
const [paramName, ...rest] = tag.text;
|
426
|
+
tagLabel += `\`${paramName.text}\``, rest.length > 0 && (tagLabel += ` — ${rest.map((r) => r.text).join(" ")}`);
|
427
|
+
} else Array.isArray(tag.text) ? tagLabel += ` — ${tag.text.map((r) => r.text).join(" ")}` : tag.text && (tagLabel += ` — ${tag.text}`);
|
428
|
+
return tagLabel;
|
429
|
+
}
|
430
|
+
__name(tagToString, "tagToString");
|
431
|
+
var _a6, SignatureHelpAdapter = (_a6 = class extends Adapter {
|
432
|
+
constructor() {
|
433
|
+
super(...arguments), this.signatureHelpTriggerCharacters = ["(", ","];
|
434
|
+
}
|
435
|
+
static _toSignatureHelpTriggerReason(context) {
|
436
|
+
switch (context.triggerKind) {
|
437
|
+
case monaco_editor_core_exports.languages.SignatureHelpTriggerKind.TriggerCharacter:
|
438
|
+
return context.triggerCharacter ? context.isRetrigger ? { kind: "retrigger", triggerCharacter: context.triggerCharacter } : { kind: "characterTyped", triggerCharacter: context.triggerCharacter } : { kind: "invoked" };
|
439
|
+
case monaco_editor_core_exports.languages.SignatureHelpTriggerKind.ContentChange:
|
440
|
+
return context.isRetrigger ? { kind: "retrigger" } : { kind: "invoked" };
|
441
|
+
case monaco_editor_core_exports.languages.SignatureHelpTriggerKind.Invoke:
|
442
|
+
default:
|
443
|
+
return { kind: "invoked" };
|
444
|
+
}
|
445
|
+
}
|
446
|
+
async provideSignatureHelp(model, position, token, context) {
|
447
|
+
const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
448
|
+
if (model.isDisposed())
|
449
|
+
return;
|
450
|
+
const info = await worker.getSignatureHelpItems(resource.toString(), offset, {
|
451
|
+
triggerReason: _a6._toSignatureHelpTriggerReason(context)
|
452
|
+
});
|
453
|
+
if (!info || model.isDisposed())
|
454
|
+
return;
|
455
|
+
const ret = {
|
456
|
+
activeSignature: info.selectedItemIndex,
|
457
|
+
activeParameter: info.argumentIndex,
|
458
|
+
signatures: []
|
459
|
+
};
|
460
|
+
return info.items.forEach((item) => {
|
461
|
+
const signature = {
|
462
|
+
label: "",
|
463
|
+
parameters: []
|
464
|
+
};
|
465
|
+
signature.documentation = {
|
466
|
+
value: displayPartsToString(item.documentation)
|
467
|
+
}, signature.label += displayPartsToString(item.prefixDisplayParts), item.parameters.forEach((p, i, a) => {
|
468
|
+
const label = displayPartsToString(p.displayParts), parameter = {
|
469
|
+
label,
|
470
|
+
documentation: {
|
471
|
+
value: displayPartsToString(p.documentation)
|
472
|
+
}
|
473
|
+
};
|
474
|
+
signature.label += label, signature.parameters.push(parameter), i < a.length - 1 && (signature.label += displayPartsToString(item.separatorDisplayParts));
|
475
|
+
}), signature.label += displayPartsToString(item.suffixDisplayParts), ret.signatures.push(signature);
|
476
|
+
}), {
|
477
|
+
value: ret,
|
478
|
+
dispose() {
|
479
|
+
}
|
480
|
+
};
|
481
|
+
}
|
482
|
+
}, __name(_a6, "_SignatureHelpAdapter"), _a6), _a7, QuickInfoAdapter = (_a7 = class extends Adapter {
|
483
|
+
async provideHover(model, position, token) {
|
484
|
+
const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
485
|
+
if (model.isDisposed())
|
486
|
+
return;
|
487
|
+
const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);
|
488
|
+
if (!info || model.isDisposed())
|
489
|
+
return;
|
490
|
+
const documentation = displayPartsToString(info.documentation), tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(`
|
491
|
+
|
492
|
+
`) : "", contents = displayPartsToString(info.displayParts);
|
493
|
+
return {
|
494
|
+
range: this._textSpanToRange(model, info.textSpan),
|
495
|
+
contents: [
|
496
|
+
{
|
497
|
+
value: "```typescript\n" + contents + "\n```\n"
|
498
|
+
},
|
499
|
+
{
|
500
|
+
value: documentation + (tags ? `
|
501
|
+
|
502
|
+
` + tags : "")
|
503
|
+
}
|
504
|
+
]
|
505
|
+
};
|
506
|
+
}
|
507
|
+
}, __name(_a7, "QuickInfoAdapter"), _a7), _a8, DocumentHighlightAdapter = (_a8 = class extends Adapter {
|
508
|
+
async provideDocumentHighlights(model, position, token) {
|
509
|
+
const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
510
|
+
if (model.isDisposed())
|
511
|
+
return;
|
512
|
+
const entries = await worker.getDocumentHighlights(resource.toString(), offset, [
|
513
|
+
resource.toString()
|
514
|
+
]);
|
515
|
+
if (!(!entries || model.isDisposed()))
|
516
|
+
return entries.flatMap((entry) => entry.highlightSpans.map((highlightSpans) => ({
|
517
|
+
range: this._textSpanToRange(model, highlightSpans.textSpan),
|
518
|
+
kind: highlightSpans.kind === "writtenReference" ? monaco_editor_core_exports.languages.DocumentHighlightKind.Write : monaco_editor_core_exports.languages.DocumentHighlightKind.Text
|
519
|
+
})));
|
520
|
+
}
|
521
|
+
}, __name(_a8, "DocumentHighlightAdapter"), _a8), _a9, DefinitionAdapter = (_a9 = class extends Adapter {
|
522
|
+
constructor(_libFiles, worker) {
|
523
|
+
super(worker), this._libFiles = _libFiles;
|
524
|
+
}
|
525
|
+
async provideDefinition(model, position, token) {
|
526
|
+
const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
527
|
+
if (model.isDisposed())
|
528
|
+
return;
|
529
|
+
const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);
|
530
|
+
if (!entries || model.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(
|
531
|
+
entries.map((entry) => monaco_editor_core_exports.Uri.parse(entry.fileName))
|
532
|
+
), model.isDisposed()))
|
533
|
+
return;
|
534
|
+
const result = [];
|
535
|
+
for (let entry of entries) {
|
536
|
+
const refModel = this._libFiles.getOrCreateModel(entry.fileName);
|
537
|
+
refModel && result.push({
|
538
|
+
uri: refModel.uri,
|
539
|
+
range: this._textSpanToRange(refModel, entry.textSpan)
|
540
|
+
});
|
541
|
+
}
|
542
|
+
return result;
|
543
|
+
}
|
544
|
+
}, __name(_a9, "DefinitionAdapter"), _a9), _a10, ReferenceAdapter = (_a10 = class extends Adapter {
|
545
|
+
constructor(_libFiles, worker) {
|
546
|
+
super(worker), this._libFiles = _libFiles;
|
547
|
+
}
|
548
|
+
async provideReferences(model, position, context, token) {
|
549
|
+
const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
550
|
+
if (model.isDisposed())
|
551
|
+
return;
|
552
|
+
const entries = await worker.getReferencesAtPosition(resource.toString(), offset);
|
553
|
+
if (!entries || model.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(
|
554
|
+
entries.map((entry) => monaco_editor_core_exports.Uri.parse(entry.fileName))
|
555
|
+
), model.isDisposed()))
|
556
|
+
return;
|
557
|
+
const result = [];
|
558
|
+
for (let entry of entries) {
|
559
|
+
const refModel = this._libFiles.getOrCreateModel(entry.fileName);
|
560
|
+
refModel && result.push({
|
561
|
+
uri: refModel.uri,
|
562
|
+
range: this._textSpanToRange(refModel, entry.textSpan)
|
563
|
+
});
|
564
|
+
}
|
565
|
+
return result;
|
566
|
+
}
|
567
|
+
}, __name(_a10, "ReferenceAdapter"), _a10), _a11, OutlineAdapter = (_a11 = class extends Adapter {
|
568
|
+
async provideDocumentSymbols(model, token) {
|
569
|
+
const resource = model.uri, worker = await this._worker(resource);
|
570
|
+
if (model.isDisposed())
|
571
|
+
return;
|
572
|
+
const root = await worker.getNavigationTree(resource.toString());
|
573
|
+
if (!root || model.isDisposed())
|
574
|
+
return;
|
575
|
+
const convert = /* @__PURE__ */ __name((item, containerLabel) => {
|
576
|
+
var _a19;
|
577
|
+
return {
|
578
|
+
name: item.text,
|
579
|
+
detail: "",
|
580
|
+
kind: outlineTypeTable[item.kind] || monaco_editor_core_exports.languages.SymbolKind.Variable,
|
581
|
+
range: this._textSpanToRange(model, item.spans[0]),
|
582
|
+
selectionRange: this._textSpanToRange(model, item.spans[0]),
|
583
|
+
tags: [],
|
584
|
+
children: (_a19 = item.childItems) == null ? void 0 : _a19.map((child) => convert(child, item.text)),
|
585
|
+
containerName: containerLabel
|
586
|
+
};
|
587
|
+
}, "convert");
|
588
|
+
return root.childItems ? root.childItems.map((item) => convert(item)) : [];
|
589
|
+
}
|
590
|
+
}, __name(_a11, "OutlineAdapter"), _a11), _a12, Kind = (_a12 = class {
|
591
|
+
}, __name(_a12, "Kind"), _a12.unknown = "", _a12.keyword = "keyword", _a12.script = "script", _a12.module = "module", _a12.class = "class", _a12.interface = "interface", _a12.type = "type", _a12.enum = "enum", _a12.variable = "var", _a12.localVariable = "local var", _a12.function = "function", _a12.localFunction = "local function", _a12.memberFunction = "method", _a12.memberGetAccessor = "getter", _a12.memberSetAccessor = "setter", _a12.memberVariable = "property", _a12.constructorImplementation = "constructor", _a12.callSignature = "call", _a12.indexSignature = "index", _a12.constructSignature = "construct", _a12.parameter = "parameter", _a12.typeParameter = "type parameter", _a12.primitiveType = "primitive type", _a12.label = "label", _a12.alias = "alias", _a12.const = "const", _a12.let = "let", _a12.warning = "warning", _a12), outlineTypeTable = /* @__PURE__ */ Object.create(null);
|
592
|
+
outlineTypeTable[Kind.module] = monaco_editor_core_exports.languages.SymbolKind.Module;
|
593
|
+
outlineTypeTable[Kind.class] = monaco_editor_core_exports.languages.SymbolKind.Class;
|
594
|
+
outlineTypeTable[Kind.enum] = monaco_editor_core_exports.languages.SymbolKind.Enum;
|
595
|
+
outlineTypeTable[Kind.interface] = monaco_editor_core_exports.languages.SymbolKind.Interface;
|
596
|
+
outlineTypeTable[Kind.memberFunction] = monaco_editor_core_exports.languages.SymbolKind.Method;
|
597
|
+
outlineTypeTable[Kind.memberVariable] = monaco_editor_core_exports.languages.SymbolKind.Property;
|
598
|
+
outlineTypeTable[Kind.memberGetAccessor] = monaco_editor_core_exports.languages.SymbolKind.Property;
|
599
|
+
outlineTypeTable[Kind.memberSetAccessor] = monaco_editor_core_exports.languages.SymbolKind.Property;
|
600
|
+
outlineTypeTable[Kind.variable] = monaco_editor_core_exports.languages.SymbolKind.Variable;
|
601
|
+
outlineTypeTable[Kind.const] = monaco_editor_core_exports.languages.SymbolKind.Variable;
|
602
|
+
outlineTypeTable[Kind.localVariable] = monaco_editor_core_exports.languages.SymbolKind.Variable;
|
603
|
+
outlineTypeTable[Kind.variable] = monaco_editor_core_exports.languages.SymbolKind.Variable;
|
604
|
+
outlineTypeTable[Kind.function] = monaco_editor_core_exports.languages.SymbolKind.Function;
|
605
|
+
outlineTypeTable[Kind.localFunction] = monaco_editor_core_exports.languages.SymbolKind.Function;
|
606
|
+
var _a13, FormatHelper = (_a13 = class extends Adapter {
|
607
|
+
static _convertOptions(options) {
|
608
|
+
return {
|
609
|
+
ConvertTabsToSpaces: options.insertSpaces,
|
610
|
+
TabSize: options.tabSize,
|
611
|
+
IndentSize: options.tabSize,
|
612
|
+
IndentStyle: 2,
|
613
|
+
NewLineCharacter: `
|
614
|
+
`,
|
615
|
+
InsertSpaceAfterCommaDelimiter: !0,
|
616
|
+
InsertSpaceAfterSemicolonInForStatements: !0,
|
617
|
+
InsertSpaceBeforeAndAfterBinaryOperators: !0,
|
618
|
+
InsertSpaceAfterKeywordsInControlFlowStatements: !0,
|
619
|
+
InsertSpaceAfterFunctionKeywordForAnonymousFunctions: !0,
|
620
|
+
InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1,
|
621
|
+
InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1,
|
622
|
+
InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1,
|
623
|
+
PlaceOpenBraceOnNewLineForControlBlocks: !1,
|
624
|
+
PlaceOpenBraceOnNewLineForFunctions: !1
|
625
|
+
};
|
626
|
+
}
|
627
|
+
_convertTextChanges(model, change) {
|
628
|
+
return {
|
629
|
+
text: change.newText,
|
630
|
+
range: this._textSpanToRange(model, change.span)
|
631
|
+
};
|
632
|
+
}
|
633
|
+
}, __name(_a13, "FormatHelper"), _a13), _a14, FormatAdapter = (_a14 = class extends FormatHelper {
|
634
|
+
constructor() {
|
635
|
+
super(...arguments), this.canFormatMultipleRanges = !1;
|
636
|
+
}
|
637
|
+
async provideDocumentRangeFormattingEdits(model, range, options, token) {
|
638
|
+
const resource = model.uri, startOffset = model.getOffsetAt({
|
639
|
+
lineNumber: range.startLineNumber,
|
640
|
+
column: range.startColumn
|
641
|
+
}), endOffset = model.getOffsetAt({
|
642
|
+
lineNumber: range.endLineNumber,
|
643
|
+
column: range.endColumn
|
644
|
+
}), worker = await this._worker(resource);
|
645
|
+
if (model.isDisposed())
|
646
|
+
return;
|
647
|
+
const edits = await worker.getFormattingEditsForRange(
|
648
|
+
resource.toString(),
|
649
|
+
startOffset,
|
650
|
+
endOffset,
|
651
|
+
FormatHelper._convertOptions(options)
|
652
|
+
);
|
653
|
+
if (!(!edits || model.isDisposed()))
|
654
|
+
return edits.map((edit) => this._convertTextChanges(model, edit));
|
655
|
+
}
|
656
|
+
}, __name(_a14, "FormatAdapter"), _a14), _a15, FormatOnTypeAdapter = (_a15 = class extends FormatHelper {
|
657
|
+
get autoFormatTriggerCharacters() {
|
658
|
+
return [";", "}", `
|
659
|
+
`];
|
660
|
+
}
|
661
|
+
async provideOnTypeFormattingEdits(model, position, ch, options, token) {
|
662
|
+
const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
663
|
+
if (model.isDisposed())
|
664
|
+
return;
|
665
|
+
const edits = await worker.getFormattingEditsAfterKeystroke(
|
666
|
+
resource.toString(),
|
667
|
+
offset,
|
668
|
+
ch,
|
669
|
+
FormatHelper._convertOptions(options)
|
670
|
+
);
|
671
|
+
if (!(!edits || model.isDisposed()))
|
672
|
+
return edits.map((edit) => this._convertTextChanges(model, edit));
|
673
|
+
}
|
674
|
+
}, __name(_a15, "FormatOnTypeAdapter"), _a15), _a16, CodeActionAdaptor = (_a16 = class extends FormatHelper {
|
675
|
+
async provideCodeActions(model, range, context, token) {
|
676
|
+
const resource = model.uri, start = model.getOffsetAt({
|
677
|
+
lineNumber: range.startLineNumber,
|
678
|
+
column: range.startColumn
|
679
|
+
}), end = model.getOffsetAt({
|
680
|
+
lineNumber: range.endLineNumber,
|
681
|
+
column: range.endColumn
|
682
|
+
}), formatOptions = FormatHelper._convertOptions(model.getOptions()), errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number), worker = await this._worker(resource);
|
683
|
+
if (model.isDisposed())
|
684
|
+
return;
|
685
|
+
const codeFixes = await worker.getCodeFixesAtPosition(
|
686
|
+
resource.toString(),
|
687
|
+
start,
|
688
|
+
end,
|
689
|
+
errorCodes,
|
690
|
+
formatOptions
|
691
|
+
);
|
692
|
+
return !codeFixes || model.isDisposed() ? { actions: [], dispose: /* @__PURE__ */ __name(() => {
|
693
|
+
}, "dispose") } : {
|
694
|
+
actions: codeFixes.filter((fix) => fix.changes.filter((change) => change.isNewFile).length === 0).map((fix) => this._tsCodeFixActionToMonacoCodeAction(model, context, fix)),
|
695
|
+
dispose: /* @__PURE__ */ __name(() => {
|
696
|
+
}, "dispose")
|
697
|
+
};
|
698
|
+
}
|
699
|
+
_tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {
|
700
|
+
const edits = [];
|
701
|
+
for (const change of codeFix.changes)
|
702
|
+
for (const textChange of change.textChanges)
|
703
|
+
edits.push({
|
704
|
+
resource: model.uri,
|
705
|
+
versionId: void 0,
|
706
|
+
textEdit: {
|
707
|
+
range: this._textSpanToRange(model, textChange.span),
|
708
|
+
text: textChange.newText
|
709
|
+
}
|
710
|
+
});
|
711
|
+
return {
|
712
|
+
title: codeFix.description,
|
713
|
+
edit: { edits },
|
714
|
+
diagnostics: context.markers,
|
715
|
+
kind: "quickfix"
|
716
|
+
};
|
717
|
+
}
|
718
|
+
}, __name(_a16, "CodeActionAdaptor"), _a16), _a17, RenameAdapter = (_a17 = class extends Adapter {
|
719
|
+
constructor(_libFiles, worker) {
|
720
|
+
super(worker), this._libFiles = _libFiles;
|
721
|
+
}
|
722
|
+
async provideRenameEdits(model, position, newName, token) {
|
723
|
+
const resource = model.uri, fileName = resource.toString(), offset = model.getOffsetAt(position), worker = await this._worker(resource);
|
724
|
+
if (model.isDisposed())
|
725
|
+
return;
|
726
|
+
const renameInfo = await worker.getRenameInfo(fileName, offset, {
|
727
|
+
allowRenameOfImportPath: !1
|
728
|
+
});
|
729
|
+
if (renameInfo.canRename === !1)
|
730
|
+
return {
|
731
|
+
edits: [],
|
732
|
+
rejectReason: renameInfo.localizedErrorMessage
|
733
|
+
};
|
734
|
+
if (renameInfo.fileToRename !== void 0)
|
735
|
+
throw new Error("Renaming files is not supported.");
|
736
|
+
const renameLocations = await worker.findRenameLocations(
|
737
|
+
fileName,
|
738
|
+
offset,
|
739
|
+
/*strings*/
|
740
|
+
!1,
|
741
|
+
/*comments*/
|
742
|
+
!1,
|
743
|
+
/*prefixAndSuffix*/
|
744
|
+
!1
|
745
|
+
);
|
746
|
+
if (!renameLocations || model.isDisposed())
|
747
|
+
return;
|
748
|
+
const edits = [];
|
749
|
+
for (const renameLocation of renameLocations) {
|
750
|
+
const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);
|
751
|
+
if (model2)
|
752
|
+
edits.push({
|
753
|
+
resource: model2.uri,
|
754
|
+
versionId: void 0,
|
755
|
+
textEdit: {
|
756
|
+
range: this._textSpanToRange(model2, renameLocation.textSpan),
|
757
|
+
text: newName
|
758
|
+
}
|
759
|
+
});
|
760
|
+
else
|
761
|
+
throw new Error(`Unknown file ${renameLocation.fileName}.`);
|
762
|
+
}
|
763
|
+
return { edits };
|
764
|
+
}
|
765
|
+
}, __name(_a17, "RenameAdapter"), _a17), _a18, InlayHintsAdapter = (_a18 = class extends Adapter {
|
766
|
+
async provideInlayHints(model, range, token) {
|
767
|
+
const resource = model.uri, fileName = resource.toString(), start = model.getOffsetAt({
|
768
|
+
lineNumber: range.startLineNumber,
|
769
|
+
column: range.startColumn
|
770
|
+
}), end = model.getOffsetAt({
|
771
|
+
lineNumber: range.endLineNumber,
|
772
|
+
column: range.endColumn
|
773
|
+
}), worker = await this._worker(resource);
|
774
|
+
return model.isDisposed() ? null : { hints: (await worker.provideInlayHints(fileName, start, end)).map((hint) => ({
|
775
|
+
...hint,
|
776
|
+
label: hint.text,
|
777
|
+
position: model.getPositionAt(hint.position),
|
778
|
+
kind: this._convertHintKind(hint.kind)
|
779
|
+
})), dispose: /* @__PURE__ */ __name(() => {
|
780
|
+
}, "dispose") };
|
781
|
+
}
|
782
|
+
_convertHintKind(kind) {
|
783
|
+
switch (kind) {
|
784
|
+
case "Parameter":
|
785
|
+
return monaco_editor_core_exports.languages.InlayHintKind.Parameter;
|
786
|
+
case "Type":
|
787
|
+
return monaco_editor_core_exports.languages.InlayHintKind.Type;
|
788
|
+
default:
|
789
|
+
return monaco_editor_core_exports.languages.InlayHintKind.Type;
|
790
|
+
}
|
791
|
+
}
|
792
|
+
}, __name(_a18, "InlayHintsAdapter"), _a18), javaScriptWorker, typeScriptWorker;
|
793
|
+
function setupTypeScript(defaults) {
|
794
|
+
typeScriptWorker = setupMode(defaults, "typescript");
|
795
|
+
}
|
796
|
+
__name(setupTypeScript, "setupTypeScript");
|
797
|
+
function setupJavaScript(defaults) {
|
798
|
+
javaScriptWorker = setupMode(defaults, "javascript");
|
799
|
+
}
|
800
|
+
__name(setupJavaScript, "setupJavaScript");
|
801
|
+
function getJavaScriptWorker() {
|
802
|
+
return new Promise((resolve, reject) => {
|
803
|
+
if (!javaScriptWorker)
|
804
|
+
return reject("JavaScript not registered!");
|
805
|
+
resolve(javaScriptWorker);
|
806
|
+
});
|
807
|
+
}
|
808
|
+
__name(getJavaScriptWorker, "getJavaScriptWorker");
|
809
|
+
function getTypeScriptWorker() {
|
810
|
+
return new Promise((resolve, reject) => {
|
811
|
+
if (!typeScriptWorker)
|
812
|
+
return reject("TypeScript not registered!");
|
813
|
+
resolve(typeScriptWorker);
|
814
|
+
});
|
815
|
+
}
|
816
|
+
__name(getTypeScriptWorker, "getTypeScriptWorker");
|
817
|
+
function setupMode(defaults, modeId) {
|
818
|
+
const providers = [], client = new WorkerManager(modeId, defaults), worker = /* @__PURE__ */ __name((...uris) => client.getLanguageServiceWorker(...uris), "worker"), libFiles = new LibFiles(worker);
|
819
|
+
function registerProviders() {
|
820
|
+
const { modeConfiguration } = defaults;
|
821
|
+
disposeAll(providers), modeConfiguration.completionItems && providers.push(
|
822
|
+
monaco_editor_core_exports.languages.registerCompletionItemProvider(
|
823
|
+
modeId,
|
824
|
+
new SuggestAdapter(worker)
|
825
|
+
)
|
826
|
+
), modeConfiguration.signatureHelp && providers.push(
|
827
|
+
monaco_editor_core_exports.languages.registerSignatureHelpProvider(
|
828
|
+
modeId,
|
829
|
+
new SignatureHelpAdapter(worker)
|
830
|
+
)
|
831
|
+
), modeConfiguration.hovers && providers.push(
|
832
|
+
monaco_editor_core_exports.languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))
|
833
|
+
), modeConfiguration.documentHighlights && providers.push(
|
834
|
+
monaco_editor_core_exports.languages.registerDocumentHighlightProvider(
|
835
|
+
modeId,
|
836
|
+
new DocumentHighlightAdapter(worker)
|
837
|
+
)
|
838
|
+
), modeConfiguration.definitions && providers.push(
|
839
|
+
monaco_editor_core_exports.languages.registerDefinitionProvider(
|
840
|
+
modeId,
|
841
|
+
new DefinitionAdapter(libFiles, worker)
|
842
|
+
)
|
843
|
+
), modeConfiguration.references && providers.push(
|
844
|
+
monaco_editor_core_exports.languages.registerReferenceProvider(
|
845
|
+
modeId,
|
846
|
+
new ReferenceAdapter(libFiles, worker)
|
847
|
+
)
|
848
|
+
), modeConfiguration.documentSymbols && providers.push(
|
849
|
+
monaco_editor_core_exports.languages.registerDocumentSymbolProvider(
|
850
|
+
modeId,
|
851
|
+
new OutlineAdapter(worker)
|
852
|
+
)
|
853
|
+
), modeConfiguration.rename && providers.push(
|
854
|
+
monaco_editor_core_exports.languages.registerRenameProvider(
|
855
|
+
modeId,
|
856
|
+
new RenameAdapter(libFiles, worker)
|
857
|
+
)
|
858
|
+
), modeConfiguration.documentRangeFormattingEdits && providers.push(
|
859
|
+
monaco_editor_core_exports.languages.registerDocumentRangeFormattingEditProvider(
|
860
|
+
modeId,
|
861
|
+
new FormatAdapter(worker)
|
862
|
+
)
|
863
|
+
), modeConfiguration.onTypeFormattingEdits && providers.push(
|
864
|
+
monaco_editor_core_exports.languages.registerOnTypeFormattingEditProvider(
|
865
|
+
modeId,
|
866
|
+
new FormatOnTypeAdapter(worker)
|
867
|
+
)
|
868
|
+
), modeConfiguration.codeActions && providers.push(
|
869
|
+
monaco_editor_core_exports.languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))
|
870
|
+
), modeConfiguration.inlayHints && providers.push(
|
871
|
+
monaco_editor_core_exports.languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))
|
872
|
+
), modeConfiguration.diagnostics && providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));
|
873
|
+
}
|
874
|
+
return __name(registerProviders, "registerProviders"), registerProviders(), worker;
|
875
|
+
}
|
876
|
+
__name(setupMode, "setupMode");
|
877
|
+
function disposeAll(disposables) {
|
878
|
+
for (; disposables.length; )
|
879
|
+
disposables.pop().dispose();
|
880
|
+
}
|
881
|
+
__name(disposeAll, "disposeAll");
|
882
|
+
export {
|
883
|
+
Adapter,
|
884
|
+
CodeActionAdaptor,
|
885
|
+
DefinitionAdapter,
|
886
|
+
DiagnosticsAdapter,
|
887
|
+
DocumentHighlightAdapter,
|
888
|
+
FormatAdapter,
|
889
|
+
FormatHelper,
|
890
|
+
FormatOnTypeAdapter,
|
891
|
+
InlayHintsAdapter,
|
892
|
+
Kind,
|
893
|
+
LibFiles,
|
894
|
+
OutlineAdapter,
|
895
|
+
QuickInfoAdapter,
|
896
|
+
ReferenceAdapter,
|
897
|
+
RenameAdapter,
|
898
|
+
SignatureHelpAdapter,
|
899
|
+
SuggestAdapter,
|
900
|
+
WorkerManager,
|
901
|
+
flattenDiagnosticMessageText,
|
902
|
+
getJavaScriptWorker,
|
903
|
+
getTypeScriptWorker,
|
904
|
+
setupJavaScript,
|
905
|
+
setupTypeScript
|
906
|
+
};
|