@codingame/monaco-editor-wrapper 1.4.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Groovy2.js +28 -0
- package/dist/cpptools.js +6 -0
- package/dist/css.worker.js +1 -1
- package/dist/features/mutualizedExtensionConfigurations.d.ts +1 -0
- package/dist/features/mutualizedExtensionConfigurations.js +4857 -0
- package/dist/hacks.d.ts +2 -1
- package/dist/html.worker.js +1 -1
- package/dist/java-java.js +4 -1
- package/dist/java2.js +2 -1
- package/dist/json.worker.js +1 -1
- package/dist/languages/extensions/configurationLoader.d.ts +1324 -0
- package/dist/languages/extensions/languageConfigurationLoader.d.ts +9 -1
- package/dist/languages/textMate/CGTMTokenizationSupport.d.ts +2 -2
- package/dist/lua2.js +35 -0
- package/dist/main.js +137 -97
- package/dist/markdown-basics-markdown.js +18 -0
- package/dist/monaco.d.ts +0 -1
- package/dist/r2.js +1 -1
- package/dist/scalameta.js +7 -1
- package/dist/services/CustomFoldingRulesLanguageConfigurationService.d.ts +4 -0
- package/dist/services/MultiEditorStandaloneCodeEditorService.d.ts +3 -3
- package/dist/services/TextModelService.d.ts +25 -0
- package/dist/theme/tools.d.ts +2 -1
- package/dist/ts.worker.js +1 -1
- package/dist/typescript-language-features.js +14 -4
- package/dist/vscode-R-rmd.js +2 -2
- package/dist/worker.js +1 -1
- package/package.json +18 -14
- package/stats.html +1 -1
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import * as monaco from 'monaco-editor';
|
|
2
|
-
|
|
2
|
+
export interface RawLanguageConfiguration extends Omit<monaco.extra.ILanguageConfiguration, 'folding'> {
|
|
3
|
+
folding?: Omit<monaco.extra.ILanguageConfiguration['folding'], 'markers'> & {
|
|
4
|
+
markers?: {
|
|
5
|
+
start: string;
|
|
6
|
+
end: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
declare const loader: Partial<Record<string, () => Promise<RawLanguageConfiguration>>>;
|
|
3
11
|
export default loader;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as monaco from 'monaco-editor';
|
|
2
2
|
import { IGrammar } from 'vscode-textmate';
|
|
3
|
-
export default class CGTMTokenizationSupport extends monaco.extra.
|
|
3
|
+
export default class CGTMTokenizationSupport extends monaco.extra.TMTokenizationSupportWithLineLimit {
|
|
4
4
|
private languageId;
|
|
5
5
|
private grammar;
|
|
6
6
|
constructor(languageId: string, encodedLanguageId: monaco.languages.LanguageId, actual: monaco.extra.TMTokenization, grammar: IGrammar);
|
|
7
|
-
tokenize(line: string, hasEOL: boolean, state: monaco.languages.IState
|
|
7
|
+
tokenize(line: string, hasEOL: boolean, state: monaco.languages.IState): monaco.TokenizationResult;
|
|
8
8
|
}
|
package/dist/lua2.js
CHANGED
|
@@ -226,6 +226,16 @@ var lua = [
|
|
|
226
226
|
],
|
|
227
227
|
"type": "string"
|
|
228
228
|
},
|
|
229
|
+
"codestyle-check": {
|
|
230
|
+
"default": "None",
|
|
231
|
+
"description": "%config.diagnostics.codestyle-check%",
|
|
232
|
+
"enum": [
|
|
233
|
+
"Any",
|
|
234
|
+
"Opened",
|
|
235
|
+
"None"
|
|
236
|
+
],
|
|
237
|
+
"type": "string"
|
|
238
|
+
},
|
|
229
239
|
"count-down-loop": {
|
|
230
240
|
"default": "Any",
|
|
231
241
|
"description": "%config.diagnostics.count-down-loop%",
|
|
@@ -640,6 +650,17 @@ var lua = [
|
|
|
640
650
|
],
|
|
641
651
|
"type": "string"
|
|
642
652
|
},
|
|
653
|
+
"codestyle-check": {
|
|
654
|
+
"default": "Warning",
|
|
655
|
+
"description": "%config.diagnostics.codestyle-check%",
|
|
656
|
+
"enum": [
|
|
657
|
+
"Error",
|
|
658
|
+
"Warning",
|
|
659
|
+
"Information",
|
|
660
|
+
"Hint"
|
|
661
|
+
],
|
|
662
|
+
"type": "string"
|
|
663
|
+
},
|
|
643
664
|
"count-down-loop": {
|
|
644
665
|
"default": "Warning",
|
|
645
666
|
"description": "%config.diagnostics.count-down-loop%",
|
|
@@ -1042,6 +1063,17 @@ var lua = [
|
|
|
1042
1063
|
"scope": 4,
|
|
1043
1064
|
"type": "integer"
|
|
1044
1065
|
},
|
|
1066
|
+
"Lua.format.defaultConfig": {
|
|
1067
|
+
"markdownDescription": "%config.format.defaultConfig%",
|
|
1068
|
+
"scope": 4,
|
|
1069
|
+
"type": "object"
|
|
1070
|
+
},
|
|
1071
|
+
"Lua.format.enable": {
|
|
1072
|
+
"default": "true",
|
|
1073
|
+
"markdownDescription": "Enable code formatter.",
|
|
1074
|
+
"scope": 4,
|
|
1075
|
+
"type": "boolean"
|
|
1076
|
+
},
|
|
1045
1077
|
"Lua.hint.arrayIndex": {
|
|
1046
1078
|
"default": "Auto",
|
|
1047
1079
|
"enum": [
|
|
@@ -1428,6 +1460,9 @@ var lua = [
|
|
|
1428
1460
|
"default": null,
|
|
1429
1461
|
"markdownDescription": "Enable telemetry to send your editor information and error logs over the network. Read our privacy policy [here](https://github.com/sumneko/lua-language-server/wiki/Privacy-Policy).\n",
|
|
1430
1462
|
"scope": 4,
|
|
1463
|
+
"tags": [
|
|
1464
|
+
"telemetry"
|
|
1465
|
+
],
|
|
1431
1466
|
"type": [
|
|
1432
1467
|
"boolean",
|
|
1433
1468
|
"null"
|
package/dist/main.js
CHANGED
|
@@ -8,44 +8,20 @@ import EmacsExtension from '@codingame/monaco-emacs';
|
|
|
8
8
|
import * as monacoVim from 'monaco-vim';
|
|
9
9
|
|
|
10
10
|
function _mergeNamespaces(n, m) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
m.forEach(function (e) {
|
|
12
|
+
e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default' && !(k in n)) {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
return Object.freeze(n);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
monaco.errorHandler.setUnexpectedErrorHandler(error => {
|
|
26
|
-
console.error('Unexpected error', error);
|
|
27
|
-
});
|
|
28
|
-
/* Add custom blocks parsing (for tech.io):
|
|
29
|
-
// { [autofold]
|
|
30
|
-
// custom block content
|
|
31
|
-
// }
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
const CUSTOM_BLOCK_BEGIN_REGEX = '^\\w*(?:\\/\\/|#).*\\{';
|
|
35
|
-
const CUSTOM_BLOCK_END_REGEX = '^\\w*(?:\\/\\/|#).*\\}';
|
|
36
|
-
const original = monaco.languages.LanguageConfigurationRegistryImpl.prototype.getFoldingRules;
|
|
37
|
-
|
|
38
|
-
monaco.languages.LanguageConfigurationRegistryImpl.prototype.getFoldingRules = function (languageId) {
|
|
39
|
-
const foldingRules = original.call(this, languageId);
|
|
40
|
-
const markers = foldingRules.markers;
|
|
41
|
-
return _objectSpread2(_objectSpread2({}, foldingRules), {}, {
|
|
42
|
-
markers: {
|
|
43
|
-
start: markers != null ? new RegExp(markers.start.source + '|' + CUSTOM_BLOCK_BEGIN_REGEX) : new RegExp(CUSTOM_BLOCK_BEGIN_REGEX),
|
|
44
|
-
end: markers != null ? new RegExp(markers.end.source + '|' + CUSTOM_BLOCK_END_REGEX) : new RegExp(CUSTOM_BLOCK_END_REGEX)
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
|
|
49
25
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
50
26
|
|
|
51
27
|
function getDefaultExportFromCjs (x) {
|
|
@@ -62,8 +38,8 @@ var main$1 = {exports: {}};
|
|
|
62
38
|
var main = /*@__PURE__*/getDefaultExportFromCjs(main$1.exports);
|
|
63
39
|
|
|
64
40
|
var vscodeTextmate = /*#__PURE__*/Object.freeze(/*#__PURE__*/_mergeNamespaces({
|
|
65
|
-
|
|
66
|
-
|
|
41
|
+
__proto__: null,
|
|
42
|
+
'default': main
|
|
67
43
|
}, [main$1.exports]));
|
|
68
44
|
|
|
69
45
|
function isValidHexColor(hex) {
|
|
@@ -205,7 +181,7 @@ async function addVSCodeTheme(name, vscodeTheme) {
|
|
|
205
181
|
encodedTokensColors: themeData.tokenColorMap.slice(1)
|
|
206
182
|
});
|
|
207
183
|
|
|
208
|
-
monaco.editor.defineTheme(name, monacoTheme);
|
|
184
|
+
monaco.editor.defineTheme(name, monacoTheme, vscodeTheme.semanticHighlighting);
|
|
209
185
|
}
|
|
210
186
|
function getThemeData(themeName) {
|
|
211
187
|
var _vscodeThemeData$get;
|
|
@@ -273,7 +249,7 @@ class CGTMGrammarFactory extends monaco.extra.TMGrammarFactory {
|
|
|
273
249
|
}, themeData.tokenColorMap);
|
|
274
250
|
};
|
|
275
251
|
|
|
276
|
-
const standaloneThemeService = monaco.
|
|
252
|
+
const standaloneThemeService = monaco.extra.StandaloneServices.get(monaco.editor.IStandaloneThemeService);
|
|
277
253
|
|
|
278
254
|
this._register(standaloneThemeService.onDidColorThemeChange(updateTheme));
|
|
279
255
|
|
|
@@ -288,15 +264,15 @@ function toMonacoToken(token) {
|
|
|
288
264
|
});
|
|
289
265
|
}
|
|
290
266
|
|
|
291
|
-
class CGTMTokenizationSupport extends monaco.extra.
|
|
267
|
+
class CGTMTokenizationSupport extends monaco.extra.TMTokenizationSupportWithLineLimit {
|
|
292
268
|
constructor(languageId, encodedLanguageId, actual, grammar) {
|
|
293
|
-
super(languageId, encodedLanguageId, actual, monaco.
|
|
269
|
+
super(languageId, encodedLanguageId, actual, monaco.extra.StandaloneServices.get(monaco.extra.IConfigurationService));
|
|
294
270
|
this.languageId = languageId;
|
|
295
271
|
this.grammar = grammar;
|
|
296
272
|
} // To make "inspect tokens" work, default impl is `throw new Error('Not supported!');`
|
|
297
273
|
|
|
298
274
|
|
|
299
|
-
tokenize(line, hasEOL, state
|
|
275
|
+
tokenize(line, hasEOL, state) {
|
|
300
276
|
return monaco.languages.adaptTokenize(this.languageId, {
|
|
301
277
|
tokenize: (line, state) => {
|
|
302
278
|
const actualResult = this.grammar.tokenizeLine(line, state);
|
|
@@ -305,7 +281,7 @@ class CGTMTokenizationSupport extends monaco.extra.TMTokenizationSupport {
|
|
|
305
281
|
endState: actualResult.ruleStack
|
|
306
282
|
};
|
|
307
283
|
}
|
|
308
|
-
}, line, state
|
|
284
|
+
}, line, state);
|
|
309
285
|
}
|
|
310
286
|
|
|
311
287
|
}
|
|
@@ -2510,8 +2486,8 @@ for (const contribution of extensions.semanticTokenScopes) {
|
|
|
2510
2486
|
}
|
|
2511
2487
|
|
|
2512
2488
|
function createGrammarFactory() {
|
|
2513
|
-
const
|
|
2514
|
-
const parsedGrammars = rawGrammars.map(grammar => _objectSpread2(_objectSpread2({}, monaco.extra.parseTextMateGrammar(grammar,
|
|
2489
|
+
const languageService = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageService);
|
|
2490
|
+
const parsedGrammars = rawGrammars.map(grammar => _objectSpread2(_objectSpread2({}, monaco.extra.parseTextMateGrammar(grammar, languageService)), {}, {
|
|
2515
2491
|
location: monaco.Uri.file(grammar.scopeName + '.json')
|
|
2516
2492
|
}));
|
|
2517
2493
|
return new CGTMGrammarFactory(parsedGrammars, loader$2, onigFile);
|
|
@@ -2527,10 +2503,10 @@ function getOrCreateGrammarFactory() {
|
|
|
2527
2503
|
return textMateGrammarFactory;
|
|
2528
2504
|
}
|
|
2529
2505
|
|
|
2530
|
-
const
|
|
2506
|
+
const languageService$2 = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageService);
|
|
2531
2507
|
async function createTextMateTokensProvider(languageId) {
|
|
2532
2508
|
const grammarFactory = getOrCreateGrammarFactory();
|
|
2533
|
-
const encodedLanguageId =
|
|
2509
|
+
const encodedLanguageId = languageService$2.languageIdCodec.encodeLanguageId(languageId);
|
|
2534
2510
|
const {
|
|
2535
2511
|
grammar,
|
|
2536
2512
|
initialState,
|
|
@@ -2543,7 +2519,8 @@ async function createTextMateTokensProvider(languageId) {
|
|
|
2543
2519
|
|
|
2544
2520
|
const tokenization = new monaco.extra.TMTokenization(grammar, initialState, containsEmbeddedLanguages);
|
|
2545
2521
|
tokenization.onDidEncounterLanguage(encodedLanguageId => {
|
|
2546
|
-
|
|
2522
|
+
// Force monaco to load this language and trigger the global `onDidEncounterLanguage`
|
|
2523
|
+
languageService$2.createById(languageService$2.languageIdCodec.decodeLanguageId(encodedLanguageId));
|
|
2547
2524
|
});
|
|
2548
2525
|
return new CGTMTokenizationSupport(languageId, encodedLanguageId, tokenization, grammar);
|
|
2549
2526
|
}
|
|
@@ -2790,7 +2767,8 @@ var textMateLanguages = [
|
|
|
2790
2767
|
".har",
|
|
2791
2768
|
".jslintrc",
|
|
2792
2769
|
".jsonld",
|
|
2793
|
-
".geojson"
|
|
2770
|
+
".geojson",
|
|
2771
|
+
".ipynb"
|
|
2794
2772
|
],
|
|
2795
2773
|
"filenames": [
|
|
2796
2774
|
"composer.lock",
|
|
@@ -3718,12 +3696,12 @@ var textMateLanguages = [
|
|
|
3718
3696
|
"requirements.txt"
|
|
3719
3697
|
],
|
|
3720
3698
|
"filenamePatterns": [
|
|
3721
|
-
"
|
|
3722
|
-
"
|
|
3723
|
-
"
|
|
3724
|
-
"constraints-*.txt",
|
|
3725
|
-
"requirements
|
|
3726
|
-
"
|
|
3699
|
+
"**/*-requirements.{txt, in}",
|
|
3700
|
+
"**/*-contstraints.txt",
|
|
3701
|
+
"**/requirements-*.{txt, in}",
|
|
3702
|
+
"**/constraints-*.txt",
|
|
3703
|
+
"**/requirements/*.{txt,in}",
|
|
3704
|
+
"**/constraints/*.txt"
|
|
3727
3705
|
],
|
|
3728
3706
|
"filenames": [
|
|
3729
3707
|
"constraints.txt",
|
|
@@ -4254,6 +4232,10 @@ const loader = {
|
|
|
4254
4232
|
};
|
|
4255
4233
|
|
|
4256
4234
|
class SimpleSnippetService {
|
|
4235
|
+
constructor() {
|
|
4236
|
+
_defineProperty(this, "_serviceBrand", void 0);
|
|
4237
|
+
}
|
|
4238
|
+
|
|
4257
4239
|
isEnabled(snippet) {
|
|
4258
4240
|
return snippet.snippetIdentifier != null || true;
|
|
4259
4241
|
}
|
|
@@ -4294,8 +4276,30 @@ class SimpleSnippetService {
|
|
|
4294
4276
|
|
|
4295
4277
|
}
|
|
4296
4278
|
|
|
4297
|
-
const
|
|
4298
|
-
monaco.extra.
|
|
4279
|
+
const languageService$1 = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageService);
|
|
4280
|
+
const languageConfigurationService = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageConfigurationService);
|
|
4281
|
+
monaco.extra.setSnippetSuggestSupport(new monaco.extra.SnippetCompletionProvider(languageService$1, new SimpleSnippetService(), languageConfigurationService));
|
|
4282
|
+
|
|
4283
|
+
/* Add custom blocks parsing (for tech.io):
|
|
4284
|
+
// { [autofold]
|
|
4285
|
+
// custom block content
|
|
4286
|
+
// }
|
|
4287
|
+
*/
|
|
4288
|
+
const CUSTOM_BLOCK_BEGIN_REGEX = '^\\w*(?:\\/\\/|#).*\\{';
|
|
4289
|
+
const CUSTOM_BLOCK_END_REGEX = '^\\w*(?:\\/\\/|#).*\\}';
|
|
4290
|
+
function addCustomFoldingMarkers(configuration) {
|
|
4291
|
+
var _configuration$foldin, _configuration$foldin2;
|
|
4292
|
+
|
|
4293
|
+
const markers = (_configuration$foldin = configuration.folding) === null || _configuration$foldin === void 0 ? void 0 : _configuration$foldin.markers;
|
|
4294
|
+
return _objectSpread2(_objectSpread2({}, configuration), {}, {
|
|
4295
|
+
folding: _objectSpread2(_objectSpread2({}, (_configuration$foldin2 = configuration.folding) !== null && _configuration$foldin2 !== void 0 ? _configuration$foldin2 : {}), {}, {
|
|
4296
|
+
markers: {
|
|
4297
|
+
start: markers != null ? new RegExp(markers.start.source + '|' + CUSTOM_BLOCK_BEGIN_REGEX) : new RegExp(CUSTOM_BLOCK_BEGIN_REGEX),
|
|
4298
|
+
end: markers != null ? new RegExp(markers.end.source + '|' + CUSTOM_BLOCK_END_REGEX) : new RegExp(CUSTOM_BLOCK_END_REGEX)
|
|
4299
|
+
}
|
|
4300
|
+
})
|
|
4301
|
+
});
|
|
4302
|
+
}
|
|
4299
4303
|
|
|
4300
4304
|
const customAliases = {
|
|
4301
4305
|
csharp: ['c#'],
|
|
@@ -4309,7 +4313,7 @@ const customAliases = {
|
|
|
4309
4313
|
sql: ['mysql'],
|
|
4310
4314
|
postgres: ['postgresql', 'postgres', 'pg', 'postgre']
|
|
4311
4315
|
};
|
|
4312
|
-
const
|
|
4316
|
+
const languageService = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageService);
|
|
4313
4317
|
const languagesIds = Array.from(new Set([...Object.keys(languageLoader), ...textMateLanguages.map(rawLanguage => rawLanguage.id)]));
|
|
4314
4318
|
|
|
4315
4319
|
for (const languageId of languagesIds) {
|
|
@@ -4325,9 +4329,44 @@ for (const languageId of languagesIds) {
|
|
|
4325
4329
|
aliases: [...((_textMateLanguage$ali = textMateLanguage === null || textMateLanguage === void 0 ? void 0 : textMateLanguage.aliases) !== null && _textMateLanguage$ali !== void 0 ? _textMateLanguage$ali : []), ...((_customAliases$langua = customAliases[languageId]) !== null && _customAliases$langua !== void 0 ? _customAliases$langua : [])],
|
|
4326
4330
|
mimetypes: textMateLanguage === null || textMateLanguage === void 0 ? void 0 : textMateLanguage.mimetypes
|
|
4327
4331
|
});
|
|
4332
|
+
monaco.languages.setTokenizationSupportFactory(languageId, {
|
|
4333
|
+
createTokenizationSupport: async () => {
|
|
4334
|
+
return createTextMateTokensProvider(languageId).catch(err => {
|
|
4335
|
+
const monarchLoader = languageLoader[languageId];
|
|
4336
|
+
|
|
4337
|
+
if (monarchLoader != null) {
|
|
4338
|
+
console.warn("Failed to load TextMate grammar for language ".concat(languageId, ", fallback to monarch"), err);
|
|
4339
|
+
monaco.languages.setMonarchTokensProvider(languageId, monarchLoader().then(lang => lang.language));
|
|
4340
|
+
} else {
|
|
4341
|
+
console.warn("Failed to load TextMate grammar for language ".concat(languageId, " and no fallback monarch"), err);
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4344
|
+
return null;
|
|
4345
|
+
});
|
|
4346
|
+
}
|
|
4347
|
+
});
|
|
4348
|
+
}
|
|
4349
|
+
/**
|
|
4350
|
+
* Type is wrong
|
|
4351
|
+
* see https://github.com/microsoft/vscode/blob/cfad2543487c4a8e8f53b4451dbccdc1c2036f41/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.ts#L381
|
|
4352
|
+
*/
|
|
4353
|
+
|
|
4354
|
+
|
|
4355
|
+
function parseLanguageConfiguration(config) {
|
|
4356
|
+
var _config$folding;
|
|
4357
|
+
|
|
4358
|
+
const markers = (_config$folding = config.folding) === null || _config$folding === void 0 ? void 0 : _config$folding.markers;
|
|
4359
|
+
return _objectSpread2(_objectSpread2({}, config), {}, {
|
|
4360
|
+
folding: config.folding != null ? _objectSpread2(_objectSpread2({}, config.folding), {}, {
|
|
4361
|
+
markers: markers != null ? {
|
|
4362
|
+
start: new RegExp(markers.start),
|
|
4363
|
+
end: new RegExp(markers.end)
|
|
4364
|
+
} : undefined
|
|
4365
|
+
}) : undefined
|
|
4366
|
+
});
|
|
4328
4367
|
}
|
|
4329
4368
|
|
|
4330
|
-
|
|
4369
|
+
languageService.onDidEncounterLanguage(async languageId => {
|
|
4331
4370
|
if (languageId === 'plaintext') {
|
|
4332
4371
|
return;
|
|
4333
4372
|
}
|
|
@@ -4336,39 +4375,25 @@ modeService.onDidEncounterLanguage(async languageId => {
|
|
|
4336
4375
|
|
|
4337
4376
|
if (loader != null) {
|
|
4338
4377
|
loader().then(configuration => {
|
|
4339
|
-
monaco.extra.handleLanguageConfiguration(languageId, configuration);
|
|
4378
|
+
monaco.extra.handleLanguageConfiguration(languageId, addCustomFoldingMarkers(parseLanguageConfiguration(configuration)));
|
|
4340
4379
|
}).catch(error => {
|
|
4341
4380
|
console.error('Unable to load language configuration', error);
|
|
4342
4381
|
});
|
|
4343
4382
|
}
|
|
4344
|
-
|
|
4345
|
-
const textMateTokenProviderPromise = createTextMateTokensProvider(languageId).catch(err => {
|
|
4346
|
-
const monarchLoader = languageLoader[languageId];
|
|
4347
|
-
|
|
4348
|
-
if (monarchLoader != null) {
|
|
4349
|
-
console.warn("Failed to load TextMate grammar for language ".concat(languageId, ", fallback to monarch"), err);
|
|
4350
|
-
monaco.languages.setMonarchTokensProvider(languageId, monarchLoader().then(lang => lang.language));
|
|
4351
|
-
} else {
|
|
4352
|
-
console.warn("Failed to load TextMate grammar for language ".concat(languageId, " and no fallback monarch"), err);
|
|
4353
|
-
}
|
|
4354
|
-
|
|
4355
|
-
return null;
|
|
4356
|
-
});
|
|
4357
|
-
monaco.languages.setTokenizationSupport(languageId, textMateTokenProviderPromise);
|
|
4358
4383
|
});
|
|
4359
4384
|
|
|
4360
4385
|
function getMonacoLanguage(languageOrModeId) {
|
|
4361
|
-
const modeId =
|
|
4386
|
+
const modeId = languageService.getLanguageIdByLanguageName(languageOrModeId.toLowerCase());
|
|
4362
4387
|
|
|
4363
4388
|
if (modeId != null) {
|
|
4364
4389
|
return modeId;
|
|
4365
4390
|
}
|
|
4366
4391
|
|
|
4367
|
-
if (
|
|
4392
|
+
if (languageService.isRegisteredLanguageId(languageOrModeId)) {
|
|
4368
4393
|
return languageOrModeId;
|
|
4369
4394
|
}
|
|
4370
4395
|
|
|
4371
|
-
if (
|
|
4396
|
+
if (languageService.isRegisteredLanguageId(languageOrModeId.toLowerCase())) {
|
|
4372
4397
|
return languageOrModeId.toLowerCase();
|
|
4373
4398
|
}
|
|
4374
4399
|
|
|
@@ -4397,6 +4422,7 @@ var colors = {
|
|
|
4397
4422
|
"statusBar.foreground": "#20252a",
|
|
4398
4423
|
"statusBar.border": "#dadada"
|
|
4399
4424
|
};
|
|
4425
|
+
var semanticHighlighting = true;
|
|
4400
4426
|
var semanticTokenColors = {
|
|
4401
4427
|
"*.static": {
|
|
4402
4428
|
fontStyle: "italic"
|
|
@@ -5004,11 +5030,12 @@ var defaultTMTheme = {
|
|
|
5004
5030
|
$schema: $schema,
|
|
5005
5031
|
type: type,
|
|
5006
5032
|
colors: colors,
|
|
5033
|
+
semanticHighlighting: semanticHighlighting,
|
|
5007
5034
|
semanticTokenColors: semanticTokenColors,
|
|
5008
5035
|
tokenColors: tokenColors
|
|
5009
5036
|
};
|
|
5010
5037
|
|
|
5011
|
-
const ThemeClass = monaco.
|
|
5038
|
+
const ThemeClass = monaco.extra.StandaloneServices.get(monaco.editor.IStandaloneThemeService).getColorTheme().constructor;
|
|
5012
5039
|
|
|
5013
5040
|
ThemeClass.prototype.getTokenStyleMetadata = function (type, modifiers, modelLanguage, useDefault, definitions) {
|
|
5014
5041
|
const themeData = getThemeData(this.themeName);
|
|
@@ -5038,7 +5065,7 @@ configurationRegistry.registerDefaultConfigurations([{
|
|
|
5038
5065
|
configurationRegistry.registerDefaultConfigurations([{
|
|
5039
5066
|
overrides: extensions.configurationDefaults
|
|
5040
5067
|
}]);
|
|
5041
|
-
const simpleConfigurationService = monaco.
|
|
5068
|
+
const simpleConfigurationService = monaco.extra.StandaloneServices.get(monaco.extra.IConfigurationService);
|
|
5042
5069
|
const onConfigurationChanged = simpleConfigurationService.onDidChangeConfiguration;
|
|
5043
5070
|
function getConfiguration(language) {
|
|
5044
5071
|
let section = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'editor';
|
|
@@ -5104,9 +5131,11 @@ function openNewCodeEditor(model) {
|
|
|
5104
5131
|
return editor;
|
|
5105
5132
|
}
|
|
5106
5133
|
|
|
5107
|
-
class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.
|
|
5108
|
-
constructor(
|
|
5109
|
-
super(
|
|
5134
|
+
class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.StandaloneCodeEditorService {
|
|
5135
|
+
constructor(contextKeyService, themeService, modelResolverService) {
|
|
5136
|
+
super(contextKeyService, themeService);
|
|
5137
|
+
|
|
5138
|
+
_defineProperty(this, "modelResolverService", void 0);
|
|
5110
5139
|
|
|
5111
5140
|
_defineProperty(this, "handlers", []);
|
|
5112
5141
|
|
|
@@ -5138,7 +5167,7 @@ class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.Standalone
|
|
|
5138
5167
|
}
|
|
5139
5168
|
|
|
5140
5169
|
if (modelEditor == null) {
|
|
5141
|
-
const codeEditors = monaco.
|
|
5170
|
+
const codeEditors = monaco.extra.StandaloneServices.get(monaco.extra.ICodeEditorService).listCodeEditors();
|
|
5142
5171
|
modelEditor = codeEditors.find(editor => editor.getModel() === model);
|
|
5143
5172
|
}
|
|
5144
5173
|
|
|
@@ -5190,13 +5219,20 @@ class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.Standalone
|
|
|
5190
5219
|
|
|
5191
5220
|
class SimpleResolvedModel {
|
|
5192
5221
|
constructor(model, readonly) {
|
|
5193
|
-
_defineProperty(this, "disposed", false);
|
|
5194
|
-
|
|
5195
5222
|
this.model = model;
|
|
5196
5223
|
this.readonly = readonly;
|
|
5224
|
+
|
|
5225
|
+
_defineProperty(this, "_onWillDispose", void 0);
|
|
5226
|
+
|
|
5227
|
+
_defineProperty(this, "disposed", false);
|
|
5228
|
+
|
|
5197
5229
|
this._onWillDispose = new monaco.Emitter();
|
|
5198
5230
|
}
|
|
5199
5231
|
|
|
5232
|
+
getLanguageId() {
|
|
5233
|
+
return this.model.getLanguageId();
|
|
5234
|
+
}
|
|
5235
|
+
|
|
5200
5236
|
get onWillDispose() {
|
|
5201
5237
|
return this._onWillDispose.event;
|
|
5202
5238
|
}
|
|
@@ -5348,7 +5384,7 @@ class ResourceModelCollection extends monaco.extra.ReferenceCollection {
|
|
|
5348
5384
|
|
|
5349
5385
|
}
|
|
5350
5386
|
|
|
5351
|
-
class
|
|
5387
|
+
class TextModelService extends monaco.extra.StandaloneTextModelService {
|
|
5352
5388
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
5353
5389
|
constructor(modelService) {
|
|
5354
5390
|
super(modelService);
|
|
@@ -5465,7 +5501,7 @@ function setup$1(editor) {
|
|
|
5465
5501
|
label: 'Fold all autofold regions',
|
|
5466
5502
|
run: async editor => {
|
|
5467
5503
|
const foldingController = monaco.extra.FoldingController.get(editor);
|
|
5468
|
-
const foldingModelPromise = foldingController.getFoldingModel();
|
|
5504
|
+
const foldingModelPromise = foldingController === null || foldingController === void 0 ? void 0 : foldingController.getFoldingModel();
|
|
5469
5505
|
|
|
5470
5506
|
if (foldingModelPromise != null) {
|
|
5471
5507
|
return foldingModelPromise.then(foldingModel => {
|
|
@@ -5488,24 +5524,28 @@ function setup(editor) {
|
|
|
5488
5524
|
setup$1(editor);
|
|
5489
5525
|
}
|
|
5490
5526
|
|
|
5491
|
-
monaco.
|
|
5527
|
+
const configurationService = monaco.extra.StandaloneServices.get(monaco.extra.IConfigurationService);
|
|
5528
|
+
configurationService.updateValue('files.eol', '\n').catch(err => {
|
|
5492
5529
|
console.error('Unable to set file eol', err);
|
|
5493
5530
|
});
|
|
5494
|
-
|
|
5495
|
-
|
|
5531
|
+
monaco.errorHandler.setUnexpectedErrorHandler(error => {
|
|
5532
|
+
console.warn('Unexpected error', error);
|
|
5533
|
+
});
|
|
5534
|
+
const textModelService = new TextModelService(monaco.extra.StandaloneServices.get(monaco.extra.IModelService));
|
|
5535
|
+
const multiEditorStandaloneCodeEditorServiceImpl = new MultiEditorStandaloneCodeEditorServiceImpl(monaco.extra.StandaloneServices.get(monaco.extra.IContextKeyService), monaco.extra.StandaloneServices.get(monaco.editor.IStandaloneThemeService), textModelService);
|
|
5536
|
+
monaco.extra.StandaloneServices.initialize({
|
|
5537
|
+
codeEditorService: multiEditorStandaloneCodeEditorServiceImpl,
|
|
5538
|
+
textModelService
|
|
5539
|
+
});
|
|
5496
5540
|
|
|
5497
5541
|
function createEditor(domElement, options, override) {
|
|
5498
|
-
const editor = monaco.editor.create(domElement, options,
|
|
5499
|
-
codeEditorService: multiEditorStandaloneCodeEditorServiceImpl,
|
|
5500
|
-
textModelService: editorModelResolverService
|
|
5501
|
-
}, override));
|
|
5502
|
-
editorModelResolverService.setEditor(editor);
|
|
5542
|
+
const editor = monaco.editor.create(domElement, options, override);
|
|
5503
5543
|
setup(editor);
|
|
5504
5544
|
return editor;
|
|
5505
5545
|
}
|
|
5506
5546
|
|
|
5507
5547
|
function registerTextModelContentProvider(scheme, provider) {
|
|
5508
|
-
return
|
|
5548
|
+
return textModelService.registerTextModelContentProvider(scheme, provider);
|
|
5509
5549
|
}
|
|
5510
5550
|
|
|
5511
5551
|
function registerEditorOpenHandler(handler) {
|
|
@@ -97,6 +97,24 @@ var markdownBasicsMarkdown = {
|
|
|
97
97
|
prefix: "strikethrough",
|
|
98
98
|
body: "~~${1:${TM_SELECTED_TEXT}}~~",
|
|
99
99
|
description: "Insert strikethrough"
|
|
100
|
+
},
|
|
101
|
+
"Insert inline math": {
|
|
102
|
+
prefix: [
|
|
103
|
+
"inline math"
|
|
104
|
+
],
|
|
105
|
+
body: "$${1:${TM_SELECTED_TEXT}}$",
|
|
106
|
+
description: "Insert inline math"
|
|
107
|
+
},
|
|
108
|
+
"Insert fenced math": {
|
|
109
|
+
prefix: [
|
|
110
|
+
"fenced math"
|
|
111
|
+
],
|
|
112
|
+
body: [
|
|
113
|
+
"$$",
|
|
114
|
+
"${1:${TM_SELECTED_TEXT}}",
|
|
115
|
+
"$$"
|
|
116
|
+
],
|
|
117
|
+
description: "Insert fenced math"
|
|
100
118
|
}
|
|
101
119
|
};
|
|
102
120
|
|
package/dist/monaco.d.ts
CHANGED
package/dist/r2.js
CHANGED
|
@@ -439,7 +439,7 @@ var repository = {
|
|
|
439
439
|
"function-declarations": {
|
|
440
440
|
patterns: [
|
|
441
441
|
{
|
|
442
|
-
match: "((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))\\s*(<?<-|=(?!=))\\s*(function)",
|
|
442
|
+
match: "((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))\\s*(<?<-|=(?!=))\\s*(function)(?!\\w)",
|
|
443
443
|
captures: {
|
|
444
444
|
"1": {
|
|
445
445
|
name: "entity.name.function.r"
|
package/dist/scalameta.js
CHANGED
|
@@ -4,7 +4,7 @@ var scalameta = [
|
|
|
4
4
|
"properties": {
|
|
5
5
|
"metals.serverVersion": {
|
|
6
6
|
"type": "string",
|
|
7
|
-
"default": "0.11.1+
|
|
7
|
+
"default": "0.11.1+114-58f06ff8-SNAPSHOT",
|
|
8
8
|
"markdownDescription": "The version of the Metals server artifact. Requires reloading the window.\n\n**Change only if you know what you're doing**",
|
|
9
9
|
"scope": 3
|
|
10
10
|
},
|
|
@@ -169,6 +169,12 @@ var scalameta = [
|
|
|
169
169
|
"type": "string",
|
|
170
170
|
"markdownDescription": "Optional Eclipse format profile to use.",
|
|
171
171
|
"scope": 3
|
|
172
|
+
},
|
|
173
|
+
"metals.suggestLatestUpgrade": {
|
|
174
|
+
"type": "boolean",
|
|
175
|
+
"default": false,
|
|
176
|
+
"markdownDescription": "Once in a day, notify if there are new server releases (including snapshots)",
|
|
177
|
+
"scope": 3
|
|
172
178
|
}
|
|
173
179
|
}
|
|
174
180
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as monaco from 'monaco-editor';
|
|
2
|
-
import
|
|
2
|
+
import TextModelService from './TextModelService';
|
|
3
3
|
export declare type EditorOpenHandler = (model: monaco.editor.ITextModel, input: monaco.extra.IResourceEditorInput, editor: monaco.editor.ICodeEditor, sideBySide?: boolean) => Promise<monaco.editor.ICodeEditor | null>;
|
|
4
|
-
export default class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.
|
|
4
|
+
export default class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.StandaloneCodeEditorService {
|
|
5
5
|
private modelResolverService;
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(contextKeyService: monaco.extra.IContextKeyService, themeService: monaco.editor.IThemeService, modelResolverService: TextModelService);
|
|
7
7
|
private handlers;
|
|
8
8
|
registerEditorOpenHandler(handler: EditorOpenHandler): monaco.IDisposable;
|
|
9
9
|
openCodeEditor(input: monaco.extra.IResourceEditorInput, editor: monaco.editor.ICodeEditor, sideBySide?: boolean): Promise<monaco.editor.ICodeEditor | null>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as monaco from 'monaco-editor';
|
|
2
|
+
export declare class SimpleResolvedModel implements monaco.extra.IResolvedTextEditorModel {
|
|
3
|
+
private model;
|
|
4
|
+
private readonly;
|
|
5
|
+
private readonly _onWillDispose;
|
|
6
|
+
constructor(model: monaco.editor.ITextModel, readonly: boolean);
|
|
7
|
+
getLanguageId(): string | undefined;
|
|
8
|
+
get onWillDispose(): monaco.IEvent<void>;
|
|
9
|
+
resolve(): Promise<void>;
|
|
10
|
+
get textEditorModel(): monaco.editor.ITextModel;
|
|
11
|
+
createSnapshot(): monaco.editor.ITextSnapshot;
|
|
12
|
+
isReadonly(): boolean;
|
|
13
|
+
private disposed;
|
|
14
|
+
dispose(): void;
|
|
15
|
+
isDisposed(): boolean;
|
|
16
|
+
isResolved(): boolean;
|
|
17
|
+
getMode(): string | undefined;
|
|
18
|
+
}
|
|
19
|
+
export default class TextModelService extends monaco.extra.StandaloneTextModelService {
|
|
20
|
+
private readonly resourceModelCollection;
|
|
21
|
+
private readonly asyncModelCollection;
|
|
22
|
+
constructor(modelService: monaco.extra.IModelService);
|
|
23
|
+
registerTextModelContentProvider(scheme: string, provider: monaco.extra.ITextModelContentProvider): monaco.IDisposable;
|
|
24
|
+
createModelReference(resource: monaco.Uri): Promise<monaco.extra.IReference<monaco.extra.IResolvedTextEditorModel>>;
|
|
25
|
+
}
|
package/dist/theme/tools.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ export interface IVSCodeTheme {
|
|
|
6
6
|
[name: string]: string;
|
|
7
7
|
};
|
|
8
8
|
tokenColors: monaco.extra.ITextMateThemingRule[];
|
|
9
|
-
semanticTokenColors
|
|
9
|
+
semanticTokenColors?: Record<string, monaco.extra.ITokenColorizationSetting>;
|
|
10
|
+
semanticHighlighting?: boolean;
|
|
10
11
|
}
|
|
11
12
|
declare function convertTheme(theme: IVSCodeTheme): monaco.editor.IStandaloneThemeData;
|
|
12
13
|
declare function fixVSCodeThemeColors(vscodeTheme: IVSCodeTheme): IVSCodeTheme;
|