@codingame/monaco-editor-wrapper 1.4.0 → 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/buildtarget.js +53 -0
- package/dist/cpptools.js +15 -0
- package/dist/css.worker.js +1 -1
- package/dist/d2.js +2 -2
- package/dist/dcf.js +3 -3
- package/dist/features/extensionConfigurations.js +4 -1
- 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/javascript.js +83 -2
- package/dist/javascriptreact.js +83 -2
- package/dist/json.worker.js +1 -1
- package/dist/jsx-tags.js +51 -2
- package/dist/languages/extensions/languageConfigurationLoader.d.ts +9 -1
- package/dist/languages/textMate/CGTMTokenizationSupport.d.ts +2 -2
- package/dist/lua2.js +36 -1
- package/dist/main.js +153 -99
- 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 +8 -2
- 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/solargraph.js +192 -0
- package/dist/theme/tools.d.ts +2 -1
- package/dist/ts.worker.js +1 -1
- package/dist/typescript-language-features.js +34 -24
- package/dist/typescript.js +83 -2
- package/dist/typescriptreact.js +83 -2
- package/dist/vscode-R-rmd.js +2 -2
- package/dist/vscode-R.js +7 -1
- package/dist/worker.js +1 -1
- package/package.json +18 -13
- package/stats.html +1 -1
package/dist/jsx-tags.js
CHANGED
|
@@ -98,12 +98,61 @@ var surroundingPairs = [
|
|
|
98
98
|
"\""
|
|
99
99
|
]
|
|
100
100
|
];
|
|
101
|
+
var wordPattern = {
|
|
102
|
+
pattern: "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:'\"\\,\\.\\<\\>\\/\\s]+)"
|
|
103
|
+
};
|
|
104
|
+
var onEnterRules = [
|
|
105
|
+
{
|
|
106
|
+
beforeText: {
|
|
107
|
+
pattern: "<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$",
|
|
108
|
+
flags: "i"
|
|
109
|
+
},
|
|
110
|
+
afterText: {
|
|
111
|
+
pattern: "^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$",
|
|
112
|
+
flags: "i"
|
|
113
|
+
},
|
|
114
|
+
action: {
|
|
115
|
+
indent: "indentOutdent"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
beforeText: {
|
|
120
|
+
pattern: "<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$",
|
|
121
|
+
flags: "i"
|
|
122
|
+
},
|
|
123
|
+
action: {
|
|
124
|
+
indent: "indent"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
beforeText: {
|
|
129
|
+
pattern: "^>$"
|
|
130
|
+
},
|
|
131
|
+
afterText: {
|
|
132
|
+
pattern: "/^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$",
|
|
133
|
+
flags: "i"
|
|
134
|
+
},
|
|
135
|
+
action: {
|
|
136
|
+
indent: "indentOutdent"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
beforeText: {
|
|
141
|
+
pattern: "^>$"
|
|
142
|
+
},
|
|
143
|
+
action: {
|
|
144
|
+
indent: "indent"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
];
|
|
101
148
|
var jsxTags = {
|
|
102
149
|
comments: comments,
|
|
103
150
|
brackets: brackets,
|
|
104
151
|
colorizedBracketPairs: colorizedBracketPairs,
|
|
105
152
|
autoClosingPairs: autoClosingPairs,
|
|
106
|
-
surroundingPairs: surroundingPairs
|
|
153
|
+
surroundingPairs: surroundingPairs,
|
|
154
|
+
wordPattern: wordPattern,
|
|
155
|
+
onEnterRules: onEnterRules
|
|
107
156
|
};
|
|
108
157
|
|
|
109
|
-
export { autoClosingPairs, brackets, colorizedBracketPairs, comments, jsxTags as default, surroundingPairs };
|
|
158
|
+
export { autoClosingPairs, brackets, colorizedBracketPairs, comments, jsxTags as default, onEnterRules, surroundingPairs, wordPattern };
|
|
@@ -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%",
|
|
@@ -1031,7 +1052,7 @@ var lua = [
|
|
|
1031
1052
|
"type": "object"
|
|
1032
1053
|
},
|
|
1033
1054
|
"Lua.diagnostics.workspaceDelay": {
|
|
1034
|
-
"default":
|
|
1055
|
+
"default": 3000,
|
|
1035
1056
|
"markdownDescription": "Latency (milliseconds) for workspace diagnostics. When you start the workspace, or edit any file, the entire workspace will be re-diagnosed in the background. Set to negative to disable workspace diagnostics.",
|
|
1036
1057
|
"scope": 4,
|
|
1037
1058
|
"type": "integer"
|
|
@@ -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
|
@@ -4,48 +4,24 @@ import { _ as _objectSpread2, a as _defineProperty } from './_rollupPluginBabelH
|
|
|
4
4
|
import onigFile from 'vscode-oniguruma/release/onig.wasm';
|
|
5
5
|
import { loadWASM, createOnigScanner, createOnigString } from 'vscode-oniguruma';
|
|
6
6
|
import './worker.js';
|
|
7
|
-
import EmacsExtension from 'monaco-emacs';
|
|
7
|
+
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
|
}
|
|
@@ -825,6 +801,10 @@ var rawGrammars = [
|
|
|
825
801
|
"language": "tasty",
|
|
826
802
|
"scopeName": "source.tasty"
|
|
827
803
|
},
|
|
804
|
+
{
|
|
805
|
+
"language": "buildtarget",
|
|
806
|
+
"scopeName": "source.buildtarget"
|
|
807
|
+
},
|
|
828
808
|
{
|
|
829
809
|
"language": "COBOL",
|
|
830
810
|
"scopeName": "source.cobol",
|
|
@@ -1244,6 +1224,9 @@ const loader$2 = {
|
|
|
1244
1224
|
'source.tasty': async () => (await import(
|
|
1245
1225
|
/* webpackChunkName: "grammar-source-tasty" */
|
|
1246
1226
|
'./tasty.js').then(module => module)).default,
|
|
1227
|
+
'source.buildtarget': async () => (await import(
|
|
1228
|
+
/* webpackChunkName: "grammar-source-buildtarget" */
|
|
1229
|
+
'./buildtarget.js').then(module => module)).default,
|
|
1247
1230
|
'source.cobol': async () => (await import(
|
|
1248
1231
|
/* webpackChunkName: "grammar-source-cobol" */
|
|
1249
1232
|
'./COBOL.tmLanguage.js').then(module => module)).default,
|
|
@@ -2503,8 +2486,8 @@ for (const contribution of extensions.semanticTokenScopes) {
|
|
|
2503
2486
|
}
|
|
2504
2487
|
|
|
2505
2488
|
function createGrammarFactory() {
|
|
2506
|
-
const
|
|
2507
|
-
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)), {}, {
|
|
2508
2491
|
location: monaco.Uri.file(grammar.scopeName + '.json')
|
|
2509
2492
|
}));
|
|
2510
2493
|
return new CGTMGrammarFactory(parsedGrammars, loader$2, onigFile);
|
|
@@ -2520,10 +2503,10 @@ function getOrCreateGrammarFactory() {
|
|
|
2520
2503
|
return textMateGrammarFactory;
|
|
2521
2504
|
}
|
|
2522
2505
|
|
|
2523
|
-
const
|
|
2506
|
+
const languageService$2 = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageService);
|
|
2524
2507
|
async function createTextMateTokensProvider(languageId) {
|
|
2525
2508
|
const grammarFactory = getOrCreateGrammarFactory();
|
|
2526
|
-
const encodedLanguageId =
|
|
2509
|
+
const encodedLanguageId = languageService$2.languageIdCodec.encodeLanguageId(languageId);
|
|
2527
2510
|
const {
|
|
2528
2511
|
grammar,
|
|
2529
2512
|
initialState,
|
|
@@ -2536,7 +2519,8 @@ async function createTextMateTokensProvider(languageId) {
|
|
|
2536
2519
|
|
|
2537
2520
|
const tokenization = new monaco.extra.TMTokenization(grammar, initialState, containsEmbeddedLanguages);
|
|
2538
2521
|
tokenization.onDidEncounterLanguage(encodedLanguageId => {
|
|
2539
|
-
|
|
2522
|
+
// Force monaco to load this language and trigger the global `onDidEncounterLanguage`
|
|
2523
|
+
languageService$2.createById(languageService$2.languageIdCodec.decodeLanguageId(encodedLanguageId));
|
|
2540
2524
|
});
|
|
2541
2525
|
return new CGTMTokenizationSupport(languageId, encodedLanguageId, tokenization, grammar);
|
|
2542
2526
|
}
|
|
@@ -2783,7 +2767,8 @@ var textMateLanguages = [
|
|
|
2783
2767
|
".har",
|
|
2784
2768
|
".jslintrc",
|
|
2785
2769
|
".jsonld",
|
|
2786
|
-
".geojson"
|
|
2770
|
+
".geojson",
|
|
2771
|
+
".ipynb"
|
|
2787
2772
|
],
|
|
2788
2773
|
"filenames": [
|
|
2789
2774
|
"composer.lock",
|
|
@@ -3523,6 +3508,12 @@ var textMateLanguages = [
|
|
|
3523
3508
|
".tasty-decoded"
|
|
3524
3509
|
]
|
|
3525
3510
|
},
|
|
3511
|
+
{
|
|
3512
|
+
"id": "buildtarget",
|
|
3513
|
+
"extensions": [
|
|
3514
|
+
".metals-buildtarget"
|
|
3515
|
+
]
|
|
3516
|
+
},
|
|
3526
3517
|
{
|
|
3527
3518
|
"id": "COBOL",
|
|
3528
3519
|
"extensions": [
|
|
@@ -3705,12 +3696,12 @@ var textMateLanguages = [
|
|
|
3705
3696
|
"requirements.txt"
|
|
3706
3697
|
],
|
|
3707
3698
|
"filenamePatterns": [
|
|
3708
|
-
"
|
|
3709
|
-
"
|
|
3710
|
-
"
|
|
3711
|
-
"constraints-*.txt",
|
|
3712
|
-
"requirements
|
|
3713
|
-
"
|
|
3699
|
+
"**/*-requirements.{txt, in}",
|
|
3700
|
+
"**/*-contstraints.txt",
|
|
3701
|
+
"**/requirements-*.{txt, in}",
|
|
3702
|
+
"**/constraints-*.txt",
|
|
3703
|
+
"**/requirements/*.{txt,in}",
|
|
3704
|
+
"**/constraints/*.txt"
|
|
3714
3705
|
],
|
|
3715
3706
|
"filenames": [
|
|
3716
3707
|
"constraints.txt",
|
|
@@ -3790,7 +3781,8 @@ var textMateLanguages = [
|
|
|
3790
3781
|
"R DCF"
|
|
3791
3782
|
],
|
|
3792
3783
|
"filenames": [
|
|
3793
|
-
"DESCRIPTION"
|
|
3784
|
+
"DESCRIPTION",
|
|
3785
|
+
".lintr"
|
|
3794
3786
|
]
|
|
3795
3787
|
},
|
|
3796
3788
|
{
|
|
@@ -4240,6 +4232,10 @@ const loader = {
|
|
|
4240
4232
|
};
|
|
4241
4233
|
|
|
4242
4234
|
class SimpleSnippetService {
|
|
4235
|
+
constructor() {
|
|
4236
|
+
_defineProperty(this, "_serviceBrand", void 0);
|
|
4237
|
+
}
|
|
4238
|
+
|
|
4243
4239
|
isEnabled(snippet) {
|
|
4244
4240
|
return snippet.snippetIdentifier != null || true;
|
|
4245
4241
|
}
|
|
@@ -4280,8 +4276,30 @@ class SimpleSnippetService {
|
|
|
4280
4276
|
|
|
4281
4277
|
}
|
|
4282
4278
|
|
|
4283
|
-
const
|
|
4284
|
-
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
|
+
}
|
|
4285
4303
|
|
|
4286
4304
|
const customAliases = {
|
|
4287
4305
|
csharp: ['c#'],
|
|
@@ -4295,7 +4313,7 @@ const customAliases = {
|
|
|
4295
4313
|
sql: ['mysql'],
|
|
4296
4314
|
postgres: ['postgresql', 'postgres', 'pg', 'postgre']
|
|
4297
4315
|
};
|
|
4298
|
-
const
|
|
4316
|
+
const languageService = monaco.extra.StandaloneServices.get(monaco.languages.ILanguageService);
|
|
4299
4317
|
const languagesIds = Array.from(new Set([...Object.keys(languageLoader), ...textMateLanguages.map(rawLanguage => rawLanguage.id)]));
|
|
4300
4318
|
|
|
4301
4319
|
for (const languageId of languagesIds) {
|
|
@@ -4311,9 +4329,44 @@ for (const languageId of languagesIds) {
|
|
|
4311
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 : [])],
|
|
4312
4330
|
mimetypes: textMateLanguage === null || textMateLanguage === void 0 ? void 0 : textMateLanguage.mimetypes
|
|
4313
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
|
+
});
|
|
4314
4367
|
}
|
|
4315
4368
|
|
|
4316
|
-
|
|
4369
|
+
languageService.onDidEncounterLanguage(async languageId => {
|
|
4317
4370
|
if (languageId === 'plaintext') {
|
|
4318
4371
|
return;
|
|
4319
4372
|
}
|
|
@@ -4322,39 +4375,25 @@ modeService.onDidEncounterLanguage(async languageId => {
|
|
|
4322
4375
|
|
|
4323
4376
|
if (loader != null) {
|
|
4324
4377
|
loader().then(configuration => {
|
|
4325
|
-
monaco.extra.handleLanguageConfiguration(languageId, configuration);
|
|
4378
|
+
monaco.extra.handleLanguageConfiguration(languageId, addCustomFoldingMarkers(parseLanguageConfiguration(configuration)));
|
|
4326
4379
|
}).catch(error => {
|
|
4327
4380
|
console.error('Unable to load language configuration', error);
|
|
4328
4381
|
});
|
|
4329
4382
|
}
|
|
4330
|
-
|
|
4331
|
-
const textMateTokenProviderPromise = createTextMateTokensProvider(languageId).catch(err => {
|
|
4332
|
-
const monarchLoader = languageLoader[languageId];
|
|
4333
|
-
|
|
4334
|
-
if (monarchLoader != null) {
|
|
4335
|
-
console.warn("Failed to load TextMate grammar for language ".concat(languageId, ", fallback to monarch"), err);
|
|
4336
|
-
monaco.languages.setMonarchTokensProvider(languageId, monarchLoader().then(lang => lang.language));
|
|
4337
|
-
} else {
|
|
4338
|
-
console.warn("Failed to load TextMate grammar for language ".concat(languageId, " and no fallback monarch"), err);
|
|
4339
|
-
}
|
|
4340
|
-
|
|
4341
|
-
return null;
|
|
4342
|
-
});
|
|
4343
|
-
monaco.languages.setTokenizationSupport(languageId, textMateTokenProviderPromise);
|
|
4344
4383
|
});
|
|
4345
4384
|
|
|
4346
4385
|
function getMonacoLanguage(languageOrModeId) {
|
|
4347
|
-
const modeId =
|
|
4386
|
+
const modeId = languageService.getLanguageIdByLanguageName(languageOrModeId.toLowerCase());
|
|
4348
4387
|
|
|
4349
4388
|
if (modeId != null) {
|
|
4350
4389
|
return modeId;
|
|
4351
4390
|
}
|
|
4352
4391
|
|
|
4353
|
-
if (
|
|
4392
|
+
if (languageService.isRegisteredLanguageId(languageOrModeId)) {
|
|
4354
4393
|
return languageOrModeId;
|
|
4355
4394
|
}
|
|
4356
4395
|
|
|
4357
|
-
if (
|
|
4396
|
+
if (languageService.isRegisteredLanguageId(languageOrModeId.toLowerCase())) {
|
|
4358
4397
|
return languageOrModeId.toLowerCase();
|
|
4359
4398
|
}
|
|
4360
4399
|
|
|
@@ -4383,6 +4422,7 @@ var colors = {
|
|
|
4383
4422
|
"statusBar.foreground": "#20252a",
|
|
4384
4423
|
"statusBar.border": "#dadada"
|
|
4385
4424
|
};
|
|
4425
|
+
var semanticHighlighting = true;
|
|
4386
4426
|
var semanticTokenColors = {
|
|
4387
4427
|
"*.static": {
|
|
4388
4428
|
fontStyle: "italic"
|
|
@@ -4990,11 +5030,12 @@ var defaultTMTheme = {
|
|
|
4990
5030
|
$schema: $schema,
|
|
4991
5031
|
type: type,
|
|
4992
5032
|
colors: colors,
|
|
5033
|
+
semanticHighlighting: semanticHighlighting,
|
|
4993
5034
|
semanticTokenColors: semanticTokenColors,
|
|
4994
5035
|
tokenColors: tokenColors
|
|
4995
5036
|
};
|
|
4996
5037
|
|
|
4997
|
-
const ThemeClass = monaco.
|
|
5038
|
+
const ThemeClass = monaco.extra.StandaloneServices.get(monaco.editor.IStandaloneThemeService).getColorTheme().constructor;
|
|
4998
5039
|
|
|
4999
5040
|
ThemeClass.prototype.getTokenStyleMetadata = function (type, modifiers, modelLanguage, useDefault, definitions) {
|
|
5000
5041
|
const themeData = getThemeData(this.themeName);
|
|
@@ -5024,7 +5065,7 @@ configurationRegistry.registerDefaultConfigurations([{
|
|
|
5024
5065
|
configurationRegistry.registerDefaultConfigurations([{
|
|
5025
5066
|
overrides: extensions.configurationDefaults
|
|
5026
5067
|
}]);
|
|
5027
|
-
const simpleConfigurationService = monaco.
|
|
5068
|
+
const simpleConfigurationService = monaco.extra.StandaloneServices.get(monaco.extra.IConfigurationService);
|
|
5028
5069
|
const onConfigurationChanged = simpleConfigurationService.onDidChangeConfiguration;
|
|
5029
5070
|
function getConfiguration(language) {
|
|
5030
5071
|
let section = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'editor';
|
|
@@ -5090,9 +5131,11 @@ function openNewCodeEditor(model) {
|
|
|
5090
5131
|
return editor;
|
|
5091
5132
|
}
|
|
5092
5133
|
|
|
5093
|
-
class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.
|
|
5094
|
-
constructor(
|
|
5095
|
-
super(
|
|
5134
|
+
class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.StandaloneCodeEditorService {
|
|
5135
|
+
constructor(contextKeyService, themeService, modelResolverService) {
|
|
5136
|
+
super(contextKeyService, themeService);
|
|
5137
|
+
|
|
5138
|
+
_defineProperty(this, "modelResolverService", void 0);
|
|
5096
5139
|
|
|
5097
5140
|
_defineProperty(this, "handlers", []);
|
|
5098
5141
|
|
|
@@ -5124,7 +5167,7 @@ class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.Standalone
|
|
|
5124
5167
|
}
|
|
5125
5168
|
|
|
5126
5169
|
if (modelEditor == null) {
|
|
5127
|
-
const codeEditors = monaco.
|
|
5170
|
+
const codeEditors = monaco.extra.StandaloneServices.get(monaco.extra.ICodeEditorService).listCodeEditors();
|
|
5128
5171
|
modelEditor = codeEditors.find(editor => editor.getModel() === model);
|
|
5129
5172
|
}
|
|
5130
5173
|
|
|
@@ -5176,13 +5219,20 @@ class MultiEditorStandaloneCodeEditorServiceImpl extends monaco.extra.Standalone
|
|
|
5176
5219
|
|
|
5177
5220
|
class SimpleResolvedModel {
|
|
5178
5221
|
constructor(model, readonly) {
|
|
5179
|
-
_defineProperty(this, "disposed", false);
|
|
5180
|
-
|
|
5181
5222
|
this.model = model;
|
|
5182
5223
|
this.readonly = readonly;
|
|
5224
|
+
|
|
5225
|
+
_defineProperty(this, "_onWillDispose", void 0);
|
|
5226
|
+
|
|
5227
|
+
_defineProperty(this, "disposed", false);
|
|
5228
|
+
|
|
5183
5229
|
this._onWillDispose = new monaco.Emitter();
|
|
5184
5230
|
}
|
|
5185
5231
|
|
|
5232
|
+
getLanguageId() {
|
|
5233
|
+
return this.model.getLanguageId();
|
|
5234
|
+
}
|
|
5235
|
+
|
|
5186
5236
|
get onWillDispose() {
|
|
5187
5237
|
return this._onWillDispose.event;
|
|
5188
5238
|
}
|
|
@@ -5334,7 +5384,7 @@ class ResourceModelCollection extends monaco.extra.ReferenceCollection {
|
|
|
5334
5384
|
|
|
5335
5385
|
}
|
|
5336
5386
|
|
|
5337
|
-
class
|
|
5387
|
+
class TextModelService extends monaco.extra.StandaloneTextModelService {
|
|
5338
5388
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
5339
5389
|
constructor(modelService) {
|
|
5340
5390
|
super(modelService);
|
|
@@ -5451,7 +5501,7 @@ function setup$1(editor) {
|
|
|
5451
5501
|
label: 'Fold all autofold regions',
|
|
5452
5502
|
run: async editor => {
|
|
5453
5503
|
const foldingController = monaco.extra.FoldingController.get(editor);
|
|
5454
|
-
const foldingModelPromise = foldingController.getFoldingModel();
|
|
5504
|
+
const foldingModelPromise = foldingController === null || foldingController === void 0 ? void 0 : foldingController.getFoldingModel();
|
|
5455
5505
|
|
|
5456
5506
|
if (foldingModelPromise != null) {
|
|
5457
5507
|
return foldingModelPromise.then(foldingModel => {
|
|
@@ -5474,24 +5524,28 @@ function setup(editor) {
|
|
|
5474
5524
|
setup$1(editor);
|
|
5475
5525
|
}
|
|
5476
5526
|
|
|
5477
|
-
monaco.
|
|
5527
|
+
const configurationService = monaco.extra.StandaloneServices.get(monaco.extra.IConfigurationService);
|
|
5528
|
+
configurationService.updateValue('files.eol', '\n').catch(err => {
|
|
5478
5529
|
console.error('Unable to set file eol', err);
|
|
5479
5530
|
});
|
|
5480
|
-
|
|
5481
|
-
|
|
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
|
+
});
|
|
5482
5540
|
|
|
5483
5541
|
function createEditor(domElement, options, override) {
|
|
5484
|
-
const editor = monaco.editor.create(domElement, options,
|
|
5485
|
-
codeEditorService: multiEditorStandaloneCodeEditorServiceImpl,
|
|
5486
|
-
textModelService: editorModelResolverService
|
|
5487
|
-
}, override));
|
|
5488
|
-
editorModelResolverService.setEditor(editor);
|
|
5542
|
+
const editor = monaco.editor.create(domElement, options, override);
|
|
5489
5543
|
setup(editor);
|
|
5490
5544
|
return editor;
|
|
5491
5545
|
}
|
|
5492
5546
|
|
|
5493
5547
|
function registerTextModelContentProvider(scheme, provider) {
|
|
5494
|
-
return
|
|
5548
|
+
return textModelService.registerTextModelContentProvider(scheme, provider);
|
|
5495
5549
|
}
|
|
5496
5550
|
|
|
5497
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
|
|