@arcgis/coding-components 4.31.0-next.3 → 4.31.0-next.30
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/README.md +22 -3
- package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ar.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bg.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bs.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ca.json +6 -6
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.cs.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.da.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.de.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.el.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.es.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.et.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fi.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.he.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.hr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.id.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.it.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ko.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nb.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-BR.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-PT.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ru.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sk.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sv.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.th.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.tr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.uk.json +5 -5
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.vi.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-CN.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-HK.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-TW.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ca.json +2 -2
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.de.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.he.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ca.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.it.json +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +447 -7
- package/dist/arcgis-coding-components/assets/language-api-panel/t9n/language-api-panel.t9n.ca.json +1 -1
- package/dist/arcgis-coding-components/index.esm.js +2 -2
- package/dist/arcgis-coding-components/{p-42c8b545.js → p-1cec2132.js} +3 -3
- package/dist/arcgis-coding-components/{p-3ca5ba95.entry.js → p-2186676a.entry.js} +2 -2
- package/dist/arcgis-coding-components/{p-86106a9a.js → p-26f5a06d.js} +1 -1
- package/dist/arcgis-coding-components/p-3645c71d.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-8b4298d5.js → p-4ce2a213.js} +2 -2
- package/dist/arcgis-coding-components/{p-111ba641.js → p-57bde3ee.js} +2 -2
- package/dist/arcgis-coding-components/p-57dbf777.js +7 -0
- package/dist/arcgis-coding-components/{p-9132bc9c.entry.js → p-639adfca.entry.js} +2 -2
- package/dist/arcgis-coding-components/p-71d639a6.js +6 -0
- package/dist/arcgis-coding-components/{p-6554a853.js → p-72266079.js} +1 -1
- package/dist/arcgis-coding-components/p-7e2ae261.js +6 -0
- package/dist/arcgis-coding-components/{p-5eb82abf.js → p-8897f806.js} +2 -2
- package/dist/arcgis-coding-components/p-91bb956b.js +6 -0
- package/dist/arcgis-coding-components/p-9b2002c3.js +6 -0
- package/dist/arcgis-coding-components/{p-7c6b3d40.js → p-9c411f13.js} +2 -2
- package/dist/arcgis-coding-components/{p-c4a5150e.js → p-bd309794.js} +3 -3
- package/dist/arcgis-coding-components/{p-4986aaf2.js → p-cc0edd81.js} +3 -3
- package/dist/arcgis-coding-components/{p-93d0e0cc.js → p-e295aee1.js} +12 -12
- package/dist/arcgis-coding-components/p-fe4ee070.js +6 -0
- package/dist/cjs/{app-globals-92c5b499.js → app-globals-e98febdb.js} +1 -1
- package/dist/cjs/arcade-defaults-c6ecbcbe.js +349 -0
- package/dist/cjs/arcade-language-features-eeb1f261.js +274 -0
- package/dist/cjs/{arcade-mode-dfd66b4b.js → arcade-mode-a2d05415.js} +6 -266
- package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +20 -26
- package/dist/cjs/arcgis-coding-components.cjs.js +5 -5
- package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +4 -4
- package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +4 -4
- package/dist/cjs/{css-9b0053c3.js → css-1b37a5a3.js} +1 -1
- package/dist/cjs/{cssMode-62e53008.js → cssMode-e08a9e80.js} +2 -3
- package/dist/cjs/{html-3036e89e.js → html-b55754c8.js} +2 -3
- package/dist/cjs/{htmlMode-c37eee42.js → htmlMode-e335e2e0.js} +2 -3
- package/dist/cjs/{index-be6b2520.js → index-1e6c6daf.js} +43 -15
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/{javascript-7276c023.js → javascript-5d6e0e2f.js} +3 -4
- package/dist/cjs/{jsonMode-baa295f0.js → jsonMode-5aeae11c.js} +2 -3
- package/dist/cjs/{language-defaults-base-5817af52.js → language-defaults-base-b33c98c5.js} +842 -1062
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{sql-expr-defaults-746bbc5f.js → sql-expr-defaults-2fcbfae4.js} +101 -39
- package/dist/cjs/sql-expr-mode-72880fff.js +1171 -0
- package/dist/cjs/{tsMode-36398912.js → tsMode-5559948f.js} +2 -3
- package/dist/cjs/{typescript-608a420b.js → typescript-6dfdd308.js} +2 -3
- package/dist/components/arcade-defaults.js +238 -4
- package/dist/components/arcade-language-features.js +271 -0
- package/dist/components/arcade-mode.js +4 -264
- package/dist/components/arcade-results.js +3 -3
- package/dist/components/arcade-suggestions.js +2 -2
- package/dist/components/arcade-variables.js +2 -2
- package/dist/components/arcgis-arcade-editor.js +7 -6
- package/dist/components/arcgis-arcade-results.js +1 -1
- package/dist/components/arcgis-arcade-suggestions.js +1 -1
- package/dist/components/arcgis-arcade-variables.js +1 -1
- package/dist/components/arcgis-assets.d.ts +1 -1
- package/dist/components/arcgis-assets.js +1 -1
- package/dist/components/arcgis-code-editor.js +1 -1
- package/dist/components/arcgis-language-api-panel.js +1 -1
- package/dist/components/arcgis-sql-expression-editor.js +2 -2
- package/dist/components/arcgis-sql-expression-fields.js +1 -1
- package/dist/components/{chunk-6TARY3NN.js → chunk-EOMOY2EF.js} +12 -17
- package/dist/components/code-editor.js +16 -23
- package/dist/components/fields.js +22 -4
- package/dist/components/index.d.ts +18 -3
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js +2 -2
- package/dist/components/language-api-panel.js +2 -2
- package/dist/components/language-defaults-base.js +81 -323
- package/dist/components/markdown.js +1 -1
- package/dist/components/sql-expr-defaults.js +89 -24
- package/dist/components/sql-expr-mode.js +1009 -24971
- package/dist/components/sql-expression-fields.js +2 -2
- package/dist/components/useT9n.js +2 -2
- package/dist/components/utilities.js +1 -1
- package/dist/esm/{app-globals-5e178541.js → app-globals-906d2920.js} +1 -1
- package/dist/esm/arcade-defaults-01c1778e.js +344 -0
- package/dist/esm/arcade-language-features-5d86df55.js +269 -0
- package/dist/esm/{arcade-mode-02336ce9.js → arcade-mode-ffa50b73.js} +3 -263
- package/dist/esm/arcgis-arcade-editor_6.entry.js +21 -27
- package/dist/esm/arcgis-coding-components.js +6 -6
- package/dist/esm/arcgis-sql-expression-editor.entry.js +4 -4
- package/dist/esm/arcgis-sql-expression-fields.entry.js +4 -4
- package/dist/esm/{css-e79f1ed1.js → css-e6d12b19.js} +1 -1
- package/dist/esm/{cssMode-cd007d02.js → cssMode-eda5bf61.js} +2 -3
- package/dist/esm/{html-d079d00d.js → html-b5f697d7.js} +2 -3
- package/dist/esm/{htmlMode-ff14e035.js → htmlMode-1b54015e.js} +2 -3
- package/dist/esm/{index-88fc341d.js → index-0ec9c3f1.js} +43 -15
- package/dist/esm/index.js +4 -4
- package/dist/esm/{javascript-69f7c282.js → javascript-f1c7843a.js} +3 -4
- package/dist/esm/{jsonMode-18ddadde.js → jsonMode-2277640b.js} +2 -3
- package/dist/esm/{language-defaults-base-6687d11a.js → language-defaults-base-b508c08f.js} +837 -1062
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{sql-expr-defaults-2cdfe08a.js → sql-expr-defaults-715f6bad.js} +100 -40
- package/dist/esm/sql-expr-mode-3cd5df90.js +1167 -0
- package/dist/esm/{tsMode-c2e5d33a.js → tsMode-075abf4a.js} +2 -3
- package/dist/esm/{typescript-a0fbebf0.js → typescript-22cfacaa.js} +2 -3
- package/dist/loader/cdn.js +2 -3
- package/dist/loader/index.cjs.js +2 -3
- package/dist/loader/index.es2017.js +2 -3
- package/dist/loader/index.js +2 -3
- package/dist/types/components/arcade-editor/arcade-editor.d.ts +13 -3
- package/dist/types/components/arcade-results/arcade-results.d.ts +1 -1
- package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +1 -1
- package/dist/types/components/arcade-variables/arcade-variables.d.ts +1 -1
- package/dist/types/components/code-editor/code-editor.d.ts +14 -4
- package/dist/types/components/language-api-panel/language-api-panel.d.ts +1 -1
- package/dist/types/components.d.ts +13 -13
- package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/arcade-editor.stories.d.ts +8 -1
- package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/editorContext.d.ts +5 -1
- package/dist/types/stencil-public-runtime.d.ts +3 -8
- package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +1 -0
- package/dist/types/utils/arcade-monaco/arcade-profile-strategy.d.ts +9 -0
- package/dist/types/utils/fields.d.ts +2 -2
- package/dist/types/utils/profile/editor-profile.d.ts +7 -6
- package/dist/types/utils/profile/types.d.ts +53 -65
- package/dist/types/utils/profile/utils.d.ts +9 -8
- package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +3 -2
- package/dist/types/utils/sql-expr-monaco/sql-expr-constants.d.ts +45 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +1 -11
- package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +0 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +19 -520
- package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +34 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-service-accessors.d.ts +19 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +0 -7
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +75 -77
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +5 -6
- package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +2 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +9 -6
- package/dist/types/utils/sql-expr-monaco/sql-expression-profile-strategy.d.ts +13 -0
- package/dist/types/utils/sql-expr-monaco/types.d.ts +6 -12
- package/package.json +19 -19
- package/dist/arcgis-coding-components/p-0105cc95.js +0 -6
- package/dist/arcgis-coding-components/p-5e26a360.js +0 -6
- package/dist/arcgis-coding-components/p-9c7e0089.js +0 -7
- package/dist/arcgis-coding-components/p-b82e98f0.js +0 -6
- package/dist/arcgis-coding-components/p-d353f1ba.entry.js +0 -6
- package/dist/arcgis-coding-components/p-fe6ccfe0.js +0 -6
- package/dist/cjs/arcade-defaults-34e82ff5.js +0 -116
- package/dist/cjs/sql-expr-mode-a9f1b697.js +0 -25135
- package/dist/esm/arcade-defaults-6dac6b30.js +0 -111
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/sql-expr-mode-f10e5a43.js +0 -25132
- package/dist/types/utils/profile/predefined-profile.d.ts +0 -4
- package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +0 -41
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +0 -16
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +0 -26
- package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +0 -37
- package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +0 -11
- package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +0 -122
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +0 -5
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +0 -18
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +0 -6
- package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +0 -156
- package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +0 -150
- package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +0 -1397
- package/dist/types/utils/sql-expr-monaco/libraries/date/properties/index.d.ts +0 -59
- package/dist/types/utils/sql-expr-monaco/libraries/numeric/properties/index.d.ts +0 -295
- package/dist/types/utils/sql-expr-monaco/libraries/string/properties/index.d.ts +0 -135
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-adapter.d.ts +0 -3
- package/dist/types/utils/sql-expr-profile/predefined-profile.d.ts +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.30
|
|
5
5
|
*/
|
|
6
6
|
'use strict';
|
|
7
7
|
|
|
8
|
-
const languageDefaultsBase = require('./language-defaults-base-
|
|
9
|
-
require('./
|
|
8
|
+
const languageDefaultsBase = require('./language-defaults-base-b33c98c5.js');
|
|
9
|
+
const arcadeLanguageFeatures = require('./arcade-language-features-eeb1f261.js');
|
|
10
10
|
|
|
11
11
|
var V={False:"false",Null:"null",True:"true"},f={Break:"break",Continue:"continue",Else:"else",For:"for",From:"from",Function:"function",If:"if",Import:"import",Export:"export",In:"in",Return:"return",Var:"var",While:"while"},Ee=["++","--"],Je=["-","+","!","~"],Qe=["=","/=","*=","%=","+=","-="],Ze=["||","&&"],Lt=["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"];var U=[[],[],[]];Ee.forEach(t=>U[t.length-1]?.push(t));Je.forEach(t=>U[t.length-1]?.push(t));Ze.forEach(t=>U[t.length-1]?.push(t));Qe.forEach(t=>U[t.length-1]?.push(t));Lt.forEach(t=>U[t.length-1]?.push(t));var ft=Object.values(f),gt=Object.values(V);gt.map(t=>({label:t,kind:languageDefaultsBase.main.exports.CompletionItemKind.Constant}));ft.map(t=>({label:t,kind:languageDefaultsBase.main.exports.CompletionItemKind.Keyword}));
|
|
12
12
|
|
|
@@ -218,266 +218,6 @@ const arcadeMonarchLanguage = {
|
|
|
218
218
|
},
|
|
219
219
|
};
|
|
220
220
|
|
|
221
|
-
//#region Diagnostic
|
|
222
|
-
class DiagnosticsAdapter {
|
|
223
|
-
constructor(_languageId, _worker, { defaults, diagnosticsService, }) {
|
|
224
|
-
this._languageId = _languageId;
|
|
225
|
-
this._worker = _worker;
|
|
226
|
-
this._disposables = [];
|
|
227
|
-
this._listener = new Map();
|
|
228
|
-
this._diagnosticsService = diagnosticsService;
|
|
229
|
-
this._defaults = defaults;
|
|
230
|
-
const onModelAdd = (model) => {
|
|
231
|
-
const languageId = model.getLanguageId();
|
|
232
|
-
if (languageId !== this._languageId) {
|
|
233
|
-
return;
|
|
234
|
-
}
|
|
235
|
-
const debouncedValidate = languageDefaultsBase.debounce(() => {
|
|
236
|
-
this._doValidate(model, languageId).catch((err) => {
|
|
237
|
-
throw err;
|
|
238
|
-
});
|
|
239
|
-
});
|
|
240
|
-
this._listener.set(model.uri.toString(), model.onDidChangeContent(debouncedValidate));
|
|
241
|
-
this._doValidate(model, languageId).catch(console.error);
|
|
242
|
-
};
|
|
243
|
-
const onModelRemoved = (model) => {
|
|
244
|
-
const uriStr = model.uri.toString();
|
|
245
|
-
languageDefaultsBase.editor.setModelMarkers(model, this._languageId, []);
|
|
246
|
-
const listener = this._listener.get(uriStr);
|
|
247
|
-
if (listener) {
|
|
248
|
-
listener.dispose();
|
|
249
|
-
this._listener.delete(uriStr);
|
|
250
|
-
}
|
|
251
|
-
};
|
|
252
|
-
this._disposables.push(languageDefaultsBase.editor.onDidCreateModel(onModelAdd));
|
|
253
|
-
this._disposables.push(languageDefaultsBase.editor.onWillDisposeModel((model) => {
|
|
254
|
-
onModelRemoved(model);
|
|
255
|
-
}));
|
|
256
|
-
this._disposables.push(languageDefaultsBase.editor.onDidChangeModelLanguage((event) => {
|
|
257
|
-
onModelRemoved(event.model);
|
|
258
|
-
onModelAdd(event.model);
|
|
259
|
-
}));
|
|
260
|
-
this._disposables.push(defaults.onDidChange(() => {
|
|
261
|
-
languageDefaultsBase.editor.getModels().forEach((model) => {
|
|
262
|
-
if (model.getLanguageId() === this._languageId) {
|
|
263
|
-
onModelRemoved(model);
|
|
264
|
-
onModelAdd(model);
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
}));
|
|
268
|
-
this._disposables.push(defaults.onModelContextDidChange((key) => {
|
|
269
|
-
languageDefaultsBase.editor.getModels().forEach((model) => {
|
|
270
|
-
if (model.getLanguageId() === this._languageId && model.uri.toString() === key) {
|
|
271
|
-
this._doValidate(model, this._languageId).catch(console.error);
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
}));
|
|
275
|
-
this._disposables.push({
|
|
276
|
-
dispose: () => {
|
|
277
|
-
this._listener.forEach((value) => value.dispose());
|
|
278
|
-
this._listener.clear();
|
|
279
|
-
},
|
|
280
|
-
});
|
|
281
|
-
languageDefaultsBase.editor.getModels().forEach(onModelAdd);
|
|
282
|
-
}
|
|
283
|
-
dispose() {
|
|
284
|
-
this._disposables.forEach((d) => d.dispose());
|
|
285
|
-
this._disposables = [];
|
|
286
|
-
}
|
|
287
|
-
async _doValidate(model, languageId) {
|
|
288
|
-
if (!model.isAttachedToEditor()) {
|
|
289
|
-
return;
|
|
290
|
-
}
|
|
291
|
-
try {
|
|
292
|
-
const workerProxy = await this._worker(model.uri);
|
|
293
|
-
const context = this._defaults.getApiContextForModel(model.uri);
|
|
294
|
-
const diagnostics = await workerProxy.doValidation(model.uri.toString(), context);
|
|
295
|
-
const markers = diagnostics.map((d) => toMarker(model.uri, d));
|
|
296
|
-
this._diagnosticsService.fireDiagnosticsChange(model.uri, diagnostics);
|
|
297
|
-
languageDefaultsBase.editor.setModelMarkers(model, languageId, markers);
|
|
298
|
-
}
|
|
299
|
-
catch (err) {
|
|
300
|
-
console.error(err);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
function toSeverity(languageServiceSeverity) {
|
|
305
|
-
switch (languageServiceSeverity) {
|
|
306
|
-
case languageDefaultsBase.main.exports.DiagnosticSeverity.Error:
|
|
307
|
-
return languageDefaultsBase.MarkerSeverity.Error;
|
|
308
|
-
case languageDefaultsBase.main.exports.DiagnosticSeverity.Warning:
|
|
309
|
-
return languageDefaultsBase.MarkerSeverity.Warning;
|
|
310
|
-
case languageDefaultsBase.main.exports.DiagnosticSeverity.Information:
|
|
311
|
-
return languageDefaultsBase.MarkerSeverity.Info;
|
|
312
|
-
case languageDefaultsBase.main.exports.DiagnosticSeverity.Hint:
|
|
313
|
-
return languageDefaultsBase.MarkerSeverity.Hint;
|
|
314
|
-
default:
|
|
315
|
-
return languageDefaultsBase.MarkerSeverity.Info;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
function toMarker(_resource, diag) {
|
|
319
|
-
// Diagnostics positions are zero-based, MarkerData are 1-based
|
|
320
|
-
return {
|
|
321
|
-
severity: toSeverity(diag.severity),
|
|
322
|
-
startLineNumber: diag.range.start.line + 1,
|
|
323
|
-
startColumn: diag.range.start.character + 1,
|
|
324
|
-
endLineNumber: diag.range.end.line + 1,
|
|
325
|
-
endColumn: diag.range.end.character + 1,
|
|
326
|
-
message: diag.message,
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
//#endregion
|
|
330
|
-
//#region Completion
|
|
331
|
-
function fromPosition(position) {
|
|
332
|
-
// Language service is zero based
|
|
333
|
-
return { character: position.column - 1, line: position.lineNumber - 1 };
|
|
334
|
-
}
|
|
335
|
-
function toRange(range) {
|
|
336
|
-
return new languageDefaultsBase.Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);
|
|
337
|
-
}
|
|
338
|
-
function toTextEdit(textEdit) {
|
|
339
|
-
return {
|
|
340
|
-
range: toRange(textEdit.range),
|
|
341
|
-
text: textEdit.newText,
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
function isInsertReplaceEdit(edit) {
|
|
345
|
-
return (typeof edit.insert !== "undefined" &&
|
|
346
|
-
typeof edit.replace !== "undefined");
|
|
347
|
-
}
|
|
348
|
-
function toCompletionItemKind(kind) {
|
|
349
|
-
const mItemKind = languageDefaultsBase.languages.CompletionItemKind;
|
|
350
|
-
switch (kind) {
|
|
351
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Text:
|
|
352
|
-
return mItemKind.Text;
|
|
353
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Method:
|
|
354
|
-
return mItemKind.Method;
|
|
355
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Function:
|
|
356
|
-
return mItemKind.Function;
|
|
357
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Constructor:
|
|
358
|
-
return mItemKind.Constructor;
|
|
359
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Field:
|
|
360
|
-
return mItemKind.Field;
|
|
361
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Variable:
|
|
362
|
-
return mItemKind.Variable;
|
|
363
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Class:
|
|
364
|
-
return mItemKind.Class;
|
|
365
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Interface:
|
|
366
|
-
return mItemKind.Interface;
|
|
367
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Module:
|
|
368
|
-
return mItemKind.Module;
|
|
369
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Property:
|
|
370
|
-
return mItemKind.Property;
|
|
371
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Unit:
|
|
372
|
-
return mItemKind.Unit;
|
|
373
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Value:
|
|
374
|
-
return mItemKind.Value;
|
|
375
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Enum:
|
|
376
|
-
return mItemKind.Enum;
|
|
377
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Keyword:
|
|
378
|
-
return mItemKind.Keyword;
|
|
379
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Snippet:
|
|
380
|
-
return mItemKind.Snippet;
|
|
381
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Color:
|
|
382
|
-
return mItemKind.Color;
|
|
383
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.File:
|
|
384
|
-
return mItemKind.File;
|
|
385
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Reference:
|
|
386
|
-
return mItemKind.Reference;
|
|
387
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Folder:
|
|
388
|
-
return mItemKind.Folder;
|
|
389
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.EnumMember:
|
|
390
|
-
return mItemKind.EnumMember;
|
|
391
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Constant:
|
|
392
|
-
return mItemKind.Constant;
|
|
393
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Struct:
|
|
394
|
-
return mItemKind.Struct;
|
|
395
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Event:
|
|
396
|
-
return mItemKind.Event;
|
|
397
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.Operator:
|
|
398
|
-
return mItemKind.Operator;
|
|
399
|
-
case languageDefaultsBase.main.exports.CompletionItemKind.TypeParameter:
|
|
400
|
-
return mItemKind.TypeParameter;
|
|
401
|
-
default:
|
|
402
|
-
return mItemKind.Property;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
class CompletionProvider {
|
|
406
|
-
constructor(_worker, _defaults) {
|
|
407
|
-
this._worker = _worker;
|
|
408
|
-
this._defaults = _defaults;
|
|
409
|
-
this.triggerCharacters = [".", "("];
|
|
410
|
-
}
|
|
411
|
-
async provideCompletionItems(model, position) {
|
|
412
|
-
const worker = await this._worker(model.uri);
|
|
413
|
-
const context = this._defaults.getApiContextForModel(model.uri);
|
|
414
|
-
const completionList = await worker.doComplete(model.uri.toString(), fromPosition(position), context);
|
|
415
|
-
const wordInfo = model.getWordUntilPosition(position);
|
|
416
|
-
const wordRange = new languageDefaultsBase.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);
|
|
417
|
-
const items = completionList.items.map((entry) => {
|
|
418
|
-
const item = {
|
|
419
|
-
label: entry.label,
|
|
420
|
-
insertText: entry.insertText || entry.label,
|
|
421
|
-
sortText: entry.sortText,
|
|
422
|
-
filterText: entry.filterText,
|
|
423
|
-
detail: entry.detail,
|
|
424
|
-
range: wordRange,
|
|
425
|
-
kind: toCompletionItemKind(entry.kind),
|
|
426
|
-
};
|
|
427
|
-
if (entry.textEdit) {
|
|
428
|
-
if (isInsertReplaceEdit(entry.textEdit)) {
|
|
429
|
-
item.range = {
|
|
430
|
-
insert: toRange(entry.textEdit.insert),
|
|
431
|
-
replace: toRange(entry.textEdit.replace),
|
|
432
|
-
};
|
|
433
|
-
}
|
|
434
|
-
else {
|
|
435
|
-
item.range = toRange(entry.textEdit.range);
|
|
436
|
-
}
|
|
437
|
-
item.insertText = entry.textEdit.newText;
|
|
438
|
-
}
|
|
439
|
-
if (entry.additionalTextEdits) {
|
|
440
|
-
item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);
|
|
441
|
-
}
|
|
442
|
-
if (entry.insertTextFormat === languageDefaultsBase.main.exports.InsertTextFormat.Snippet) {
|
|
443
|
-
item.insertTextRules = languageDefaultsBase.languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
|
444
|
-
}
|
|
445
|
-
if (entry.documentation) {
|
|
446
|
-
if (typeof entry.documentation === "string") {
|
|
447
|
-
item.documentation = entry.documentation;
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
item.documentation = {
|
|
451
|
-
supportThemeIcons: false,
|
|
452
|
-
value: entry.documentation.value,
|
|
453
|
-
supportHtml: true,
|
|
454
|
-
};
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
return item;
|
|
458
|
-
});
|
|
459
|
-
return {
|
|
460
|
-
incomplete: completionList.isIncomplete,
|
|
461
|
-
suggestions: items,
|
|
462
|
-
};
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
//#endregion
|
|
466
|
-
//#region Formatter
|
|
467
|
-
class FormattingProvider {
|
|
468
|
-
constructor(_worker, _defaults) {
|
|
469
|
-
this._worker = _worker;
|
|
470
|
-
this._defaults = _defaults;
|
|
471
|
-
}
|
|
472
|
-
async provideDocumentFormattingEdits(model) {
|
|
473
|
-
const worker = await this._worker(model.uri);
|
|
474
|
-
const context = this._defaults.getApiContextForModel(model.uri.toString());
|
|
475
|
-
const edits = await worker.doFormat(model.uri.toString(), context);
|
|
476
|
-
return edits.map((e) => ({ range: toRange(e.range), text: e.newText }));
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
//#endregion
|
|
480
|
-
|
|
481
221
|
/**
|
|
482
222
|
* Manager to create our arcade worker and client proxy
|
|
483
223
|
*/
|
|
@@ -579,12 +319,12 @@ function setupMode(arcadeDefaults) {
|
|
|
579
319
|
languageDefaultsBase.languages.setMonarchTokensProvider(arcadeDefaults.languageId, arcadeMonarchLanguage);
|
|
580
320
|
languageDefaultsBase.languages.setLanguageConfiguration(arcadeDefaults.languageId, arcadeLanguageConfiguration);
|
|
581
321
|
// Creates and registers a Completion Adapter
|
|
582
|
-
languageDefaultsBase.languages.registerCompletionItemProvider(arcadeDefaults.languageId, new CompletionProvider(workerAccessor, arcadeDefaults));
|
|
322
|
+
languageDefaultsBase.languages.registerCompletionItemProvider(arcadeDefaults.languageId, new arcadeLanguageFeatures.CompletionProvider(workerAccessor, arcadeDefaults));
|
|
583
323
|
// Creates and registers a Formatter
|
|
584
|
-
languageDefaultsBase.languages.registerDocumentFormattingEditProvider(arcadeDefaults.languageId, new FormattingProvider(workerAccessor, arcadeDefaults));
|
|
324
|
+
languageDefaultsBase.languages.registerDocumentFormattingEditProvider(arcadeDefaults.languageId, new arcadeLanguageFeatures.FormattingProvider(workerAccessor, arcadeDefaults));
|
|
585
325
|
// Creates a Diagnostic Adapter
|
|
586
326
|
// eslint-disable-next-line no-new
|
|
587
|
-
new DiagnosticsAdapter(arcadeDefaults.languageId, workerAccessor, {
|
|
327
|
+
new arcadeLanguageFeatures.DiagnosticsAdapter(arcadeDefaults.languageId, workerAccessor, {
|
|
588
328
|
defaults: arcadeDefaults,
|
|
589
329
|
diagnosticsService: arcadeDiagnosticService,
|
|
590
330
|
});
|