@arcgis/coding-components 4.31.0-next.2 → 4.31.0-next.4
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/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
- package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +11 -0
- package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +1 -1
- package/dist/arcgis-coding-components/assets/sql-expression-editor/api/sql-expression-api.t9n.en.json +735 -0
- package/dist/arcgis-coding-components/index.esm.js +2 -2
- package/dist/arcgis-coding-components/p-103bdac3.js +6 -0
- package/dist/arcgis-coding-components/{p-7984ea8e.js → p-26c67f7c.js} +2 -2
- package/dist/arcgis-coding-components/{p-e8211ffe.js → p-2d14950e.js} +1 -1
- package/dist/arcgis-coding-components/p-374b59c1.js +6 -0
- package/dist/arcgis-coding-components/{p-62ee6251.js → p-4e56f8ae.js} +1 -1
- package/dist/arcgis-coding-components/{p-5ef7cce5.js → p-5da03560.js} +1 -1
- package/dist/arcgis-coding-components/p-5e173b51.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-bb7e832e.js → p-736d890c.js} +3 -3
- package/dist/arcgis-coding-components/{p-03ea6cd7.js → p-86625411.js} +3 -3
- package/dist/arcgis-coding-components/{p-93a97573.js → p-8d67b196.js} +3 -3
- package/dist/arcgis-coding-components/{p-60c2a820.js → p-8e93417c.js} +2 -2
- package/dist/arcgis-coding-components/{p-36fedc23.js → p-a256ee9c.js} +10 -10
- package/dist/arcgis-coding-components/{p-0c6de9b3.js → p-a36c357f.js} +2 -2
- package/dist/arcgis-coding-components/{p-e7ee4d64.js → p-ab0f6db7.js} +3 -3
- package/dist/arcgis-coding-components/p-b23a3f4e.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-9eced6fc.js → p-b570d7af.js} +2 -2
- package/dist/arcgis-coding-components/p-de5cabbb.js +6 -0
- package/dist/arcgis-coding-components/p-e6cac921.entry.js +6 -0
- package/dist/cjs/{app-globals-aee5f4b5.js → app-globals-209c2310.js} +1 -1
- package/dist/cjs/arcade-defaults-ee308e3a.js +116 -0
- package/dist/cjs/{arcade-mode-b85ae7d4.js → arcade-mode-f2c3951e.js} +62 -62
- package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +177 -1491
- package/dist/cjs/arcgis-coding-components.cjs.js +4 -4
- package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +81 -0
- package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +80 -0
- package/dist/cjs/{css-7cc05f76.js → css-bbd000cd.js} +1 -1
- package/dist/cjs/{cssMode-2b0daeae.js → cssMode-ad163e66.js} +4 -4
- package/dist/cjs/{html-f56911e1.js → html-5c67b9d0.js} +4 -4
- package/dist/cjs/{htmlMode-43eed674.js → htmlMode-e32a97bd.js} +4 -4
- package/dist/cjs/{index-b34238a6.js → index-8b891c40.js} +9 -1
- package/dist/cjs/index.cjs.js +4 -3
- package/dist/cjs/{javascript-5115cb76.js → javascript-e159fa2f.js} +4 -4
- package/dist/cjs/{jsonMode-550dda36.js → jsonMode-5c107443.js} +4 -4
- package/dist/cjs/{arcade-defaults-a8d8f8e2.js → language-defaults-base-4300e691.js} +61 -162
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/sql-expr-defaults-783d9c24.js +1285 -0
- package/dist/cjs/sql-expr-mode-6cac37ed.js +25135 -0
- package/dist/cjs/{tsMode-336306a9.js → tsMode-83c4587f.js} +5 -5
- package/dist/cjs/{typescript-b395242f.js → typescript-f6ca5d84.js} +4 -4
- package/dist/components/arcade-defaults.js +8 -1557
- package/dist/components/arcade-mode.js +2 -2
- package/dist/components/arcade-results.js +6 -4
- package/dist/components/arcade-suggestions.js +7 -5
- package/dist/components/arcade-variables.js +8 -6
- package/dist/components/arcgis-arcade-editor.js +33 -32
- 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.d.ts +11 -0
- package/dist/components/arcgis-sql-expression-editor.js +120 -0
- package/dist/components/arcgis-sql-expression-fields.d.ts +11 -0
- package/dist/components/arcgis-sql-expression-fields.js +11 -0
- package/dist/components/chunk-6TARY3NN.js +1159 -0
- package/dist/components/code-editor.js +41 -7
- package/dist/components/fields.js +2 -2
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js +30 -22
- package/dist/components/language-api-panel.js +13 -40
- package/dist/components/language-defaults-base.js +1551 -0
- package/dist/components/markdown.js +1 -1
- package/dist/components/sql-expr-defaults.js +131 -0
- package/dist/components/sql-expr-mode.js +25132 -0
- package/dist/components/sql-expression-fields.js +102 -0
- package/dist/components/useT9n.js +45 -8
- package/dist/components/utilities.js +1 -1
- package/dist/esm/{app-globals-59faaf33.js → app-globals-60a61d0d.js} +1 -1
- package/dist/esm/arcade-defaults-b1a5f013.js +111 -0
- package/dist/esm/{arcade-mode-5d46035e.js → arcade-mode-7e6764ac.js} +3 -3
- package/dist/esm/arcgis-arcade-editor_6.entry.js +124 -1438
- package/dist/esm/arcgis-coding-components.js +5 -5
- package/dist/esm/arcgis-sql-expression-editor.entry.js +77 -0
- package/dist/esm/arcgis-sql-expression-fields.entry.js +76 -0
- package/dist/esm/{css-e257dc49.js → css-7d75b7ca.js} +1 -1
- package/dist/esm/{cssMode-c11f7f40.js → cssMode-95305ae2.js} +3 -3
- package/dist/esm/{html-a6c37a99.js → html-84fc596c.js} +3 -3
- package/dist/esm/{htmlMode-1270bc7d.js → htmlMode-c961f619.js} +3 -3
- package/dist/esm/{index-a970952c.js → index-1c1754c0.js} +9 -1
- package/dist/esm/index.js +4 -3
- package/dist/esm/{javascript-ee179624.js → javascript-0aa4505f.js} +4 -4
- package/dist/esm/{jsonMode-07502ccb.js → jsonMode-86b234eb.js} +3 -3
- package/dist/esm/{arcade-defaults-9eb28407.js → language-defaults-base-949fa7fb.js} +55 -158
- package/dist/esm/loader.js +5 -5
- package/dist/esm/sql-expr-defaults-f2f50289.js +1279 -0
- package/dist/esm/sql-expr-mode-14c94be3.js +25132 -0
- package/dist/esm/{tsMode-96749a12.js → tsMode-ee945c40.js} +3 -3
- package/dist/esm/{typescript-a3cf9881.js → typescript-8bd2bb48.js} +3 -3
- package/dist/loader/cdn.js +1 -1
- package/dist/loader/index.cjs.js +1 -1
- package/dist/loader/index.es2017.js +1 -1
- package/dist/loader/index.js +1 -1
- package/dist/types/components/arcade-editor/arcade-editor.d.ts +33 -8
- package/dist/types/components/arcade-results/arcade-results.d.ts +43 -1
- package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +22 -1
- package/dist/types/components/arcade-variables/arcade-variables.d.ts +28 -1
- package/dist/types/components/code-editor/code-editor.d.ts +2 -1
- package/dist/types/components/language-api-panel/language-api-panel.d.ts +34 -8
- package/dist/types/components/sql-expression-editor/sql-expression-editor.d.ts +24 -0
- package/dist/types/components/sql-expression-fields/sql-expression-fields.d.ts +32 -0
- package/dist/types/components.d.ts +85 -11
- package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/sql-expression-editor/sql-expression-editor.stories.d.ts +13 -0
- package/dist/types/dependencies.d.ts +6 -10
- package/dist/types/utils/language-defaults-base.d.ts +2 -9
- package/dist/types/utils/profile/predefined-profile.d.ts +3 -1
- package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +41 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +16 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +26 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +37 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +11 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +122 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +5 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +18 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +6 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +156 -0
- package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +150 -0
- package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +1397 -0
- package/dist/types/utils/sql-expr-monaco/libraries/date/properties/index.d.ts +59 -0
- package/dist/types/utils/sql-expr-monaco/libraries/numeric/properties/index.d.ts +295 -0
- package/dist/types/utils/sql-expr-monaco/libraries/string/properties/index.d.ts +135 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +5 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +11 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +22 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +540 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-syntax.d.ts +8 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +10 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-adapter.d.ts +3 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +41 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +99 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +41 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +15 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +21 -0
- package/dist/types/utils/sql-expr-monaco/types.d.ts +91 -0
- package/dist/types/utils/sql-expr-profile/predefined-profile.d.ts +2 -0
- package/package.json +25 -20
- package/dist/arcgis-coding-components/p-81c37dab.entry.js +0 -6
- package/dist/components/chunk-IHYYRFLQ.js +0 -1363
- package/dist/types/components/arcade-editor/t9n-types.d.ts +0 -8
- package/dist/types/components/arcade-results/t9n-types.d.ts +0 -13
- package/dist/types/components/arcade-suggestions/t9n-types.d.ts +0 -6
- package/dist/types/components/arcade-variables/t9n-types.d.ts +0 -8
- package/dist/types/components/language-api-panel/t9n-types.d.ts +0 -8
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.4
|
|
5
|
+
*/
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
const languageDefaultsBase = require('./language-defaults-base-4300e691.js');
|
|
9
|
+
const index = require('./index-8b891c40.js');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Returns the arcade diagnostic service.
|
|
13
|
+
* Example:
|
|
14
|
+
* ```ts
|
|
15
|
+
* const diagnosticService = await getArcadeDiagnosticService();
|
|
16
|
+
* diagnosticService.onDidChangeDiagnostics(({uri, diaganostics }) => {
|
|
17
|
+
* // Filter the diagnostics for the uri of interest
|
|
18
|
+
* // Do something with the diagnostics
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
async function getArcadeDiagnosticService() {
|
|
23
|
+
const mode = await getMode();
|
|
24
|
+
return mode.getArcadeDiagnosticService();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the arcade worker for the model.
|
|
28
|
+
* Example:
|
|
29
|
+
* ```ts
|
|
30
|
+
* const arcadeWorker = await getArcadeWorker(model.uri);
|
|
31
|
+
* ```
|
|
32
|
+
* @returns arcade worker
|
|
33
|
+
*/
|
|
34
|
+
async function getArcadeWorker(uri) {
|
|
35
|
+
const mode = await getMode();
|
|
36
|
+
return await mode.getArcadeWorker(uri);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Request the arcade mode
|
|
40
|
+
* @returns arcade mode module
|
|
41
|
+
*/
|
|
42
|
+
async function getMode() {
|
|
43
|
+
return await Promise.resolve().then(function () { return require('./arcade-mode-f2c3951e.js'); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const arcadeLanguageId = "arcade";
|
|
47
|
+
class ArcadeLanguageServiceDefaults extends languageDefaultsBase.LanguageDefaultsBase {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
this._languageId = arcadeLanguageId;
|
|
51
|
+
this._languageOptions = {};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Create an EditorProfile for the given model id using the given definition and locale.
|
|
55
|
+
* The EditorProfile is used by the the Arcade Language service as well by the cosing components.
|
|
56
|
+
* The definition can be a pre-defined profile or an editor profile definition.
|
|
57
|
+
* If the locale is not provided then the 'en' locale is used.
|
|
58
|
+
* @param modelId The model id for which to create the context.
|
|
59
|
+
* @param definition The definition to use for the model context.
|
|
60
|
+
* @param locale The locale to use for the model context.
|
|
61
|
+
* @returns The EditorProfile for the model.
|
|
62
|
+
*/
|
|
63
|
+
async setProfileForModel(modelId, definition, apiContext = { locale: "en" }) {
|
|
64
|
+
// Convert pre-defined profile to a runtime profile
|
|
65
|
+
if (languageDefaultsBase.isPredefinedProfile(definition)) {
|
|
66
|
+
definition = await languageDefaultsBase.convertToEditorProfileDefinition(definition, apiContext.locale);
|
|
67
|
+
}
|
|
68
|
+
const profileStrings = await languageDefaultsBase.fetchT9nStringsBundle(apiContext.locale, index.getAssetPath("./assets/arcade-language/t9n"), "profile.t9n.");
|
|
69
|
+
if (!profileStrings) {
|
|
70
|
+
throw new Error(`Failed to load the language bundle for ${apiContext.locale}`);
|
|
71
|
+
}
|
|
72
|
+
this.disposeForModel(modelId);
|
|
73
|
+
const key = this._getApiKey(modelId);
|
|
74
|
+
const editorProfile = new languageDefaultsBase.EditorProfile(definition, profileStrings);
|
|
75
|
+
this._profileMap.set(key, editorProfile);
|
|
76
|
+
const apiProfile = await editorProfile.toLSProfile();
|
|
77
|
+
this.updateApiContextForModel(modelId, {
|
|
78
|
+
locale: apiContext.locale,
|
|
79
|
+
profile: apiProfile,
|
|
80
|
+
snippets: apiContext.snippets,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Set or update the Arcade language service options.
|
|
85
|
+
* @param languageOptions The language options to set.
|
|
86
|
+
*/
|
|
87
|
+
setLanguageOptions(languageOptions = {}) {
|
|
88
|
+
// Check if options have actually changed.
|
|
89
|
+
// Avoid restarting the worker when no updates.
|
|
90
|
+
// Today we only have the 'assetsPath' as a property
|
|
91
|
+
if (this._languageOptions.assetsPath === languageOptions.assetsPath) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this._languageOptions = { ...this._languageOptions, ...languageOptions };
|
|
95
|
+
this._onDidChange.fire(this);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets the API library for the given model id.
|
|
99
|
+
* @param modelId The model id for which to get the API library.
|
|
100
|
+
* @returns The API library for the model.
|
|
101
|
+
*/
|
|
102
|
+
async getApiLibrary(modelId) {
|
|
103
|
+
const uri = languageDefaultsBase.Uri.parse(modelId);
|
|
104
|
+
const worker = await getArcadeWorker(uri);
|
|
105
|
+
return await worker.getApiLibrary(this.getApiContextForModel(uri));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const arcadeDefaults = new ArcadeLanguageServiceDefaults();
|
|
109
|
+
const arcade = {
|
|
110
|
+
setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults),
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
exports.arcade = arcade;
|
|
114
|
+
exports.arcadeDefaults = arcadeDefaults;
|
|
115
|
+
exports.getArcadeDiagnosticService = getArcadeDiagnosticService;
|
|
116
|
+
exports.getMode = getMode;
|
|
@@ -1,14 +1,14 @@
|
|
|
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.4
|
|
5
5
|
*/
|
|
6
6
|
'use strict';
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
require('./index-
|
|
8
|
+
const languageDefaultsBase = require('./language-defaults-base-4300e691.js');
|
|
9
|
+
require('./index-8b891c40.js');
|
|
10
10
|
|
|
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:
|
|
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
|
|
|
13
13
|
const operators = [
|
|
14
14
|
"<=",
|
|
@@ -232,7 +232,7 @@ class DiagnosticsAdapter {
|
|
|
232
232
|
if (languageId !== this._languageId) {
|
|
233
233
|
return;
|
|
234
234
|
}
|
|
235
|
-
const debouncedValidate =
|
|
235
|
+
const debouncedValidate = languageDefaultsBase.debounce(() => {
|
|
236
236
|
this._doValidate(model, languageId).catch((err) => {
|
|
237
237
|
throw err;
|
|
238
238
|
});
|
|
@@ -242,23 +242,23 @@ class DiagnosticsAdapter {
|
|
|
242
242
|
};
|
|
243
243
|
const onModelRemoved = (model) => {
|
|
244
244
|
const uriStr = model.uri.toString();
|
|
245
|
-
|
|
245
|
+
languageDefaultsBase.editor.setModelMarkers(model, this._languageId, []);
|
|
246
246
|
const listener = this._listener.get(uriStr);
|
|
247
247
|
if (listener) {
|
|
248
248
|
listener.dispose();
|
|
249
249
|
this._listener.delete(uriStr);
|
|
250
250
|
}
|
|
251
251
|
};
|
|
252
|
-
this._disposables.push(
|
|
253
|
-
this._disposables.push(
|
|
252
|
+
this._disposables.push(languageDefaultsBase.editor.onDidCreateModel(onModelAdd));
|
|
253
|
+
this._disposables.push(languageDefaultsBase.editor.onWillDisposeModel((model) => {
|
|
254
254
|
onModelRemoved(model);
|
|
255
255
|
}));
|
|
256
|
-
this._disposables.push(
|
|
256
|
+
this._disposables.push(languageDefaultsBase.editor.onDidChangeModelLanguage((event) => {
|
|
257
257
|
onModelRemoved(event.model);
|
|
258
258
|
onModelAdd(event.model);
|
|
259
259
|
}));
|
|
260
260
|
this._disposables.push(defaults.onDidChange(() => {
|
|
261
|
-
|
|
261
|
+
languageDefaultsBase.editor.getModels().forEach((model) => {
|
|
262
262
|
if (model.getLanguageId() === this._languageId) {
|
|
263
263
|
onModelRemoved(model);
|
|
264
264
|
onModelAdd(model);
|
|
@@ -266,7 +266,7 @@ class DiagnosticsAdapter {
|
|
|
266
266
|
});
|
|
267
267
|
}));
|
|
268
268
|
this._disposables.push(defaults.onModelContextDidChange((key) => {
|
|
269
|
-
|
|
269
|
+
languageDefaultsBase.editor.getModels().forEach((model) => {
|
|
270
270
|
if (model.getLanguageId() === this._languageId && model.uri.toString() === key) {
|
|
271
271
|
this._doValidate(model, this._languageId).catch(console.error);
|
|
272
272
|
}
|
|
@@ -278,7 +278,7 @@ class DiagnosticsAdapter {
|
|
|
278
278
|
this._listener.clear();
|
|
279
279
|
},
|
|
280
280
|
});
|
|
281
|
-
|
|
281
|
+
languageDefaultsBase.editor.getModels().forEach(onModelAdd);
|
|
282
282
|
}
|
|
283
283
|
dispose() {
|
|
284
284
|
this._disposables.forEach((d) => d.dispose());
|
|
@@ -294,7 +294,7 @@ class DiagnosticsAdapter {
|
|
|
294
294
|
const diagnostics = await workerProxy.doValidation(model.uri.toString(), context);
|
|
295
295
|
const markers = diagnostics.map((d) => toMarker(model.uri, d));
|
|
296
296
|
this._diagnosticsService.fireDiagnosticsChange(model.uri, diagnostics);
|
|
297
|
-
|
|
297
|
+
languageDefaultsBase.editor.setModelMarkers(model, languageId, markers);
|
|
298
298
|
}
|
|
299
299
|
catch (err) {
|
|
300
300
|
console.error(err);
|
|
@@ -303,16 +303,16 @@ class DiagnosticsAdapter {
|
|
|
303
303
|
}
|
|
304
304
|
function toSeverity(languageServiceSeverity) {
|
|
305
305
|
switch (languageServiceSeverity) {
|
|
306
|
-
case
|
|
307
|
-
return
|
|
308
|
-
case
|
|
309
|
-
return
|
|
310
|
-
case
|
|
311
|
-
return
|
|
312
|
-
case
|
|
313
|
-
return
|
|
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
314
|
default:
|
|
315
|
-
return
|
|
315
|
+
return languageDefaultsBase.MarkerSeverity.Info;
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
function toMarker(_resource, diag) {
|
|
@@ -333,7 +333,7 @@ function fromPosition(position) {
|
|
|
333
333
|
return { character: position.column - 1, line: position.lineNumber - 1 };
|
|
334
334
|
}
|
|
335
335
|
function toRange(range) {
|
|
336
|
-
return new
|
|
336
|
+
return new languageDefaultsBase.Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1);
|
|
337
337
|
}
|
|
338
338
|
function toTextEdit(textEdit) {
|
|
339
339
|
return {
|
|
@@ -346,57 +346,57 @@ function isInsertReplaceEdit(edit) {
|
|
|
346
346
|
typeof edit.replace !== "undefined");
|
|
347
347
|
}
|
|
348
348
|
function toCompletionItemKind(kind) {
|
|
349
|
-
const mItemKind =
|
|
349
|
+
const mItemKind = languageDefaultsBase.languages.CompletionItemKind;
|
|
350
350
|
switch (kind) {
|
|
351
|
-
case
|
|
351
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Text:
|
|
352
352
|
return mItemKind.Text;
|
|
353
|
-
case
|
|
353
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Method:
|
|
354
354
|
return mItemKind.Method;
|
|
355
|
-
case
|
|
355
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Function:
|
|
356
356
|
return mItemKind.Function;
|
|
357
|
-
case
|
|
357
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Constructor:
|
|
358
358
|
return mItemKind.Constructor;
|
|
359
|
-
case
|
|
359
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Field:
|
|
360
360
|
return mItemKind.Field;
|
|
361
|
-
case
|
|
361
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Variable:
|
|
362
362
|
return mItemKind.Variable;
|
|
363
|
-
case
|
|
363
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Class:
|
|
364
364
|
return mItemKind.Class;
|
|
365
|
-
case
|
|
365
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Interface:
|
|
366
366
|
return mItemKind.Interface;
|
|
367
|
-
case
|
|
367
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Module:
|
|
368
368
|
return mItemKind.Module;
|
|
369
|
-
case
|
|
369
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Property:
|
|
370
370
|
return mItemKind.Property;
|
|
371
|
-
case
|
|
371
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Unit:
|
|
372
372
|
return mItemKind.Unit;
|
|
373
|
-
case
|
|
373
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Value:
|
|
374
374
|
return mItemKind.Value;
|
|
375
|
-
case
|
|
375
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Enum:
|
|
376
376
|
return mItemKind.Enum;
|
|
377
|
-
case
|
|
377
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Keyword:
|
|
378
378
|
return mItemKind.Keyword;
|
|
379
|
-
case
|
|
379
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Snippet:
|
|
380
380
|
return mItemKind.Snippet;
|
|
381
|
-
case
|
|
381
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Color:
|
|
382
382
|
return mItemKind.Color;
|
|
383
|
-
case
|
|
383
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.File:
|
|
384
384
|
return mItemKind.File;
|
|
385
|
-
case
|
|
385
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Reference:
|
|
386
386
|
return mItemKind.Reference;
|
|
387
|
-
case
|
|
387
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Folder:
|
|
388
388
|
return mItemKind.Folder;
|
|
389
|
-
case
|
|
389
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.EnumMember:
|
|
390
390
|
return mItemKind.EnumMember;
|
|
391
|
-
case
|
|
391
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Constant:
|
|
392
392
|
return mItemKind.Constant;
|
|
393
|
-
case
|
|
393
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Struct:
|
|
394
394
|
return mItemKind.Struct;
|
|
395
|
-
case
|
|
395
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Event:
|
|
396
396
|
return mItemKind.Event;
|
|
397
|
-
case
|
|
397
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.Operator:
|
|
398
398
|
return mItemKind.Operator;
|
|
399
|
-
case
|
|
399
|
+
case languageDefaultsBase.main.exports.CompletionItemKind.TypeParameter:
|
|
400
400
|
return mItemKind.TypeParameter;
|
|
401
401
|
default:
|
|
402
402
|
return mItemKind.Property;
|
|
@@ -413,7 +413,7 @@ class CompletionProvider {
|
|
|
413
413
|
const context = this._defaults.getApiContextForModel(model.uri);
|
|
414
414
|
const completionList = await worker.doComplete(model.uri.toString(), fromPosition(position), context);
|
|
415
415
|
const wordInfo = model.getWordUntilPosition(position);
|
|
416
|
-
const wordRange = new
|
|
416
|
+
const wordRange = new languageDefaultsBase.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);
|
|
417
417
|
const items = completionList.items.map((entry) => {
|
|
418
418
|
const item = {
|
|
419
419
|
label: entry.label,
|
|
@@ -439,8 +439,8 @@ class CompletionProvider {
|
|
|
439
439
|
if (entry.additionalTextEdits) {
|
|
440
440
|
item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit);
|
|
441
441
|
}
|
|
442
|
-
if (entry.insertTextFormat ===
|
|
443
|
-
item.insertTextRules =
|
|
442
|
+
if (entry.insertTextFormat === languageDefaultsBase.main.exports.InsertTextFormat.Snippet) {
|
|
443
|
+
item.insertTextRules = languageDefaultsBase.languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
|
444
444
|
}
|
|
445
445
|
if (entry.documentation) {
|
|
446
446
|
if (typeof entry.documentation === "string") {
|
|
@@ -505,7 +505,7 @@ class WorkerManager {
|
|
|
505
505
|
// Otherwise, we get and return the proxy client.
|
|
506
506
|
if (!this._client) {
|
|
507
507
|
const { languageId, languageOptions } = this._defaults;
|
|
508
|
-
this._worker =
|
|
508
|
+
this._worker = languageDefaultsBase.editor.createWebWorker({
|
|
509
509
|
moduleId: "ArcadeWorker",
|
|
510
510
|
label: languageId,
|
|
511
511
|
createData: {
|
|
@@ -545,7 +545,7 @@ async function getArcadeWorker(...uris) {
|
|
|
545
545
|
*/
|
|
546
546
|
class ArcadeDiagnosticService {
|
|
547
547
|
constructor() {
|
|
548
|
-
this._onDiagnosticsChange = new
|
|
548
|
+
this._onDiagnosticsChange = new languageDefaultsBase.Emitter();
|
|
549
549
|
}
|
|
550
550
|
/**
|
|
551
551
|
* An event to signal changes to the diagnostics.
|
|
@@ -571,21 +571,21 @@ const arcadeDiagnosticService = new ArcadeDiagnosticService();
|
|
|
571
571
|
function getArcadeDiagnosticService() {
|
|
572
572
|
return arcadeDiagnosticService;
|
|
573
573
|
}
|
|
574
|
-
function setupMode(arcadeDefaults
|
|
575
|
-
const client = new WorkerManager(arcadeDefaults
|
|
574
|
+
function setupMode(arcadeDefaults) {
|
|
575
|
+
const client = new WorkerManager(arcadeDefaults);
|
|
576
576
|
const workerAccessor = async (...uris) => await client.getLanguageServiceWorker(...uris);
|
|
577
577
|
arcadeWorker = workerAccessor;
|
|
578
578
|
// Use the arcade Monarch Json to define the highlighting
|
|
579
|
-
|
|
580
|
-
|
|
579
|
+
languageDefaultsBase.languages.setMonarchTokensProvider(arcadeDefaults.languageId, arcadeMonarchLanguage);
|
|
580
|
+
languageDefaultsBase.languages.setLanguageConfiguration(arcadeDefaults.languageId, arcadeLanguageConfiguration);
|
|
581
581
|
// Creates and registers a Completion Adapter
|
|
582
|
-
|
|
582
|
+
languageDefaultsBase.languages.registerCompletionItemProvider(arcadeDefaults.languageId, new CompletionProvider(workerAccessor, arcadeDefaults));
|
|
583
583
|
// Creates and registers a Formatter
|
|
584
|
-
|
|
584
|
+
languageDefaultsBase.languages.registerDocumentFormattingEditProvider(arcadeDefaults.languageId, new FormattingProvider(workerAccessor, arcadeDefaults));
|
|
585
585
|
// Creates a Diagnostic Adapter
|
|
586
586
|
// eslint-disable-next-line no-new
|
|
587
|
-
new DiagnosticsAdapter(arcadeDefaults
|
|
588
|
-
defaults: arcadeDefaults
|
|
587
|
+
new DiagnosticsAdapter(arcadeDefaults.languageId, workerAccessor, {
|
|
588
|
+
defaults: arcadeDefaults,
|
|
589
589
|
diagnosticsService: arcadeDiagnosticService,
|
|
590
590
|
});
|
|
591
591
|
}
|