@codingame/monaco-vscode-api 1.80.0 → 1.80.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/api.js +6 -6
- package/dist/default-extensions/npm/npmBrowserMain.js.map +1 -1
- package/dist/default-extensions/typescript-language-features/tsserver.web.js.map +1 -1
- package/dist/missing-services.js +4 -1
- package/dist/monaco.js +4 -0
- package/dist/override/vs/platform/dialogs/common/dialogs.js +7 -0
- package/dist/service-override/dialogs.js +2 -1
- package/dist/service-override/extensions.js +2 -1
- package/dist/service-override/keybindings.js +1 -0
- package/dist/service-override/languageDetectionWorker.d.ts +5 -0
- package/dist/service-override/languageDetectionWorker.js +15 -0
- package/dist/service-override/layout.js +12 -1
- package/dist/service-override/snippets.js +1 -0
- package/dist/service-override/views.d.ts +24 -2
- package/dist/service-override/views.js +119 -12
- package/dist/services.js +2 -1
- package/dist/vscode/vs/platform/audioCues/browser/media/all.mp3.js +17 -17
- package/dist/vscode/vs/platform/diagnostics/common/diagnostics.js +27 -0
- package/dist/vscode/vs/platform/dialogs/common/dialogs.js +126 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadAuthentication.js +2 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadDialogs.js +2 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystemEventService.js +2 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadMessageService.js +2 -1
- package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +1 -0
- package/dist/vscode/vs/workbench/browser/actions/windowActions.js +2 -1
- package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +2 -1
- package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +1 -0
- package/dist/vscode/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +2 -1
- package/dist/vscode/vs/workbench/browser/parts/dialogs/dialogHandler.js +2 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +2 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupView.js +2 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPanes.js +2 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPlaceholder.js +2 -1
- package/dist/vscode/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/dist/vscode/vs/workbench/common/theme.js +5 -5
- package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +2 -1
- package/dist/vscode/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +25 -0
- package/dist/vscode/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +138 -0
- package/dist/vscode/vs/workbench/contrib/codeActions/browser/documentationContribution.js +59 -0
- package/dist/vscode/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +61 -0
- package/dist/vscode/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +58 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput.js +2 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugAdapterManager.js +2 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugService.js +2 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugTaskRunner.js +2 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/rawDebugSession.js +2 -1
- package/dist/vscode/vs/workbench/contrib/debug/common/debugLifecycle.js +2 -1
- package/dist/vscode/vs/workbench/contrib/extensions/browser/extensionsActions.js +2 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +2 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +2 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +2 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +2 -1
- package/dist/vscode/vs/workbench/contrib/folding/browser/folding.contribution.js +84 -0
- package/dist/vscode/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +172 -0
- package/dist/vscode/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +2 -1
- package/dist/vscode/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +24 -0
- package/dist/vscode/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +132 -0
- package/dist/vscode/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +360 -0
- package/dist/vscode/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/list/browser/list.contribution.js +15 -0
- package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -1
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -0
- package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +2 -1
- package/dist/vscode/vs/workbench/contrib/search/browser/searchView.js +2 -1
- package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +2 -1
- package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +20 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +264 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +87 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +126 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +56 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +133 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetPicker.js +83 -0
- package/dist/vscode/vs/workbench/contrib/snippets/browser/snippets.contribution.js +113 -0
- package/dist/vscode/vs/workbench/contrib/tasks/browser/taskQuickPick.js +2 -1
- package/dist/vscode/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +2 -1
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +2 -1
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalInstance.js +2 -1
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalService.js +5 -3
- package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +1 -0
- package/dist/vscode/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +2 -1
- package/dist/vscode/vs/workbench/services/dialogs/browser/simpleFileDialog.js +2 -1
- package/dist/vscode/vs/workbench/services/dialogs/common/dialogService.js +1 -0
- package/dist/vscode/vs/workbench/services/extensions/browser/extensionService.js +1 -0
- package/dist/vscode/vs/workbench/services/extensions/browser/extensionUrlHandler.js +1 -0
- package/dist/vscode/vs/workbench/services/extensions/common/abstractExtensionService.js +2 -1
- package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js +173 -0
- package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +257 -0
- package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +2 -1
- package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +2 -1
- package/dist/vscode/vs/workbench/services/textfile/browser/browserTextFileService.js +2 -1
- package/dist/vscode/vs/workbench/services/textfile/browser/textFileService.js +2 -1
- package/dist/vscode/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +2 -1
- package/dist/workers/languageDetection.worker.js +8 -0
- package/monaco-editor-treemending.patch +551 -551
- package/package.json +3 -2
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
2
|
+
import { ISnippetsService } from './snippets.js';
|
|
3
|
+
import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
|
|
4
|
+
import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
5
|
+
import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
|
|
6
|
+
import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
7
|
+
async function pickSnippet(accessor, languageIdOrSnippets) {
|
|
8
|
+
const snippetService = accessor.get(ISnippetsService);
|
|
9
|
+
const quickInputService = accessor.get(IQuickInputService);
|
|
10
|
+
let snippets;
|
|
11
|
+
if (Array.isArray(languageIdOrSnippets)) {
|
|
12
|
+
snippets = languageIdOrSnippets;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
snippets = (await snippetService.getSnippets(languageIdOrSnippets, { includeDisabledSnippets: true, includeNoPrefixSnippets: true }));
|
|
16
|
+
}
|
|
17
|
+
snippets.sort((a, b) => a.snippetSource - b.snippetSource);
|
|
18
|
+
const makeSnippetPicks = () => {
|
|
19
|
+
const result = [];
|
|
20
|
+
let prevSnippet;
|
|
21
|
+
for (const snippet of snippets) {
|
|
22
|
+
const pick = {
|
|
23
|
+
label: snippet.prefix || snippet.name,
|
|
24
|
+
detail: snippet.description || snippet.body,
|
|
25
|
+
snippet
|
|
26
|
+
};
|
|
27
|
+
if (!prevSnippet || prevSnippet.snippetSource !== snippet.snippetSource || prevSnippet.source !== snippet.source) {
|
|
28
|
+
let label = '';
|
|
29
|
+
switch (snippet.snippetSource) {
|
|
30
|
+
case 1 :
|
|
31
|
+
label = ( nls.localize('sep.userSnippet', "User Snippets"));
|
|
32
|
+
break;
|
|
33
|
+
case 3 :
|
|
34
|
+
label = snippet.source;
|
|
35
|
+
break;
|
|
36
|
+
case 2 :
|
|
37
|
+
label = ( nls.localize('sep.workspaceSnippet', "Workspace Snippets"));
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
result.push({ type: 'separator', label });
|
|
41
|
+
}
|
|
42
|
+
if (snippet.snippetSource === 3 ) {
|
|
43
|
+
const isEnabled = snippetService.isEnabled(snippet);
|
|
44
|
+
if (isEnabled) {
|
|
45
|
+
pick.buttons = [{
|
|
46
|
+
iconClass: ThemeIcon.asClassName(Codicon.eyeClosed),
|
|
47
|
+
tooltip: ( nls.localize('disableSnippet', 'Hide from IntelliSense'))
|
|
48
|
+
}];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
pick.description = ( nls.localize('isDisabled', "(hidden from IntelliSense)"));
|
|
52
|
+
pick.buttons = [{
|
|
53
|
+
iconClass: ThemeIcon.asClassName(Codicon.eye),
|
|
54
|
+
tooltip: ( nls.localize('enable.snippet', 'Show in IntelliSense'))
|
|
55
|
+
}];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
result.push(pick);
|
|
59
|
+
prevSnippet = snippet;
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
};
|
|
63
|
+
const picker = quickInputService.createQuickPick();
|
|
64
|
+
picker.placeholder = ( nls.localize('pick.placeholder', "Select a snippet"));
|
|
65
|
+
picker.matchOnDetail = true;
|
|
66
|
+
picker.ignoreFocusOut = false;
|
|
67
|
+
picker.keepScrollPosition = true;
|
|
68
|
+
picker.onDidTriggerItemButton(ctx => {
|
|
69
|
+
const isEnabled = snippetService.isEnabled(ctx.item.snippet);
|
|
70
|
+
snippetService.updateEnablement(ctx.item.snippet, !isEnabled);
|
|
71
|
+
picker.items = makeSnippetPicks();
|
|
72
|
+
});
|
|
73
|
+
picker.items = makeSnippetPicks();
|
|
74
|
+
if (!picker.items.length) {
|
|
75
|
+
picker.validationMessage = ( nls.localize('pick.noSnippetAvailable', "No snippet available"));
|
|
76
|
+
}
|
|
77
|
+
picker.show();
|
|
78
|
+
await Promise.race([Event.toPromise(picker.onDidAccept), Event.toPromise(picker.onDidHide)]);
|
|
79
|
+
const result = picker.selectedItems[0]?.snippet;
|
|
80
|
+
picker.dispose();
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
export { pickSnippet };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
2
|
+
import { registerAction2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
3
|
+
import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
4
|
+
import * as JSONContributionRegistry from 'monaco-editor/esm/vs/platform/jsonschemas/common/jsonContributionRegistry.js';
|
|
5
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
6
|
+
import { Extensions } from '../../../common/contributions.js';
|
|
7
|
+
import { ConfigureSnippets } from './commands/configureSnippets.js';
|
|
8
|
+
import { ApplyFileSnippetAction } from './commands/fileTemplateSnippets.js';
|
|
9
|
+
import { InsertSnippetAction } from './commands/insertSnippet.js';
|
|
10
|
+
import { SurroundWithSnippetEditorAction } from './commands/surroundWithSnippet.js';
|
|
11
|
+
import { SnippetCodeActions } from './snippetCodeActionProvider.js';
|
|
12
|
+
import { Extensions as Extensions$1 } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
|
|
13
|
+
import { editorConfigurationBaseNode } from 'monaco-editor/esm/vs/editor/common/config/editorConfigurationSchema.js';
|
|
14
|
+
registerAction2(InsertSnippetAction);
|
|
15
|
+
CommandsRegistry.registerCommandAlias('editor.action.showSnippets', 'editor.action.insertSnippet');
|
|
16
|
+
registerAction2(SurroundWithSnippetEditorAction);
|
|
17
|
+
registerAction2(ConfigureSnippets);
|
|
18
|
+
registerAction2(ApplyFileSnippetAction);
|
|
19
|
+
( Registry.as(Extensions.Workbench))
|
|
20
|
+
.registerWorkbenchContribution(SnippetCodeActions, 3 );
|
|
21
|
+
( Registry
|
|
22
|
+
.as(Extensions$1.Configuration))
|
|
23
|
+
.registerConfiguration({
|
|
24
|
+
...editorConfigurationBaseNode,
|
|
25
|
+
'properties': {
|
|
26
|
+
'editor.snippets.codeActions.enabled': {
|
|
27
|
+
'description': ( nls.localize(
|
|
28
|
+
'editor.snippets.codeActions.enabled',
|
|
29
|
+
'Controls if surround-with-snippets or file template snippets show as Code Actions.'
|
|
30
|
+
)),
|
|
31
|
+
'type': 'boolean',
|
|
32
|
+
'default': true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const languageScopeSchemaId = 'vscode://schemas/snippets';
|
|
37
|
+
const snippetSchemaProperties = {
|
|
38
|
+
prefix: {
|
|
39
|
+
description: ( nls.localize(
|
|
40
|
+
'snippetSchema.json.prefix',
|
|
41
|
+
'The prefix to use when selecting the snippet in intellisense'
|
|
42
|
+
)),
|
|
43
|
+
type: ['string', 'array']
|
|
44
|
+
},
|
|
45
|
+
isFileTemplate: {
|
|
46
|
+
description: ( nls.localize(
|
|
47
|
+
'snippetSchema.json.isFileTemplate',
|
|
48
|
+
'The snippet is meant to populate or replace a whole file'
|
|
49
|
+
)),
|
|
50
|
+
type: 'boolean'
|
|
51
|
+
},
|
|
52
|
+
body: {
|
|
53
|
+
markdownDescription: ( nls.localize(
|
|
54
|
+
'snippetSchema.json.body',
|
|
55
|
+
'The snippet content. Use `$1`, `${1:defaultText}` to define cursor positions, use `$0` for the final cursor position. Insert variable values with `${varName}` and `${varName:defaultText}`, e.g. `This is file: $TM_FILENAME`.'
|
|
56
|
+
)),
|
|
57
|
+
type: ['string', 'array'],
|
|
58
|
+
items: {
|
|
59
|
+
type: 'string'
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
description: {
|
|
63
|
+
description: ( nls.localize('snippetSchema.json.description', 'The snippet description.')),
|
|
64
|
+
type: ['string', 'array']
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const languageScopeSchema = {
|
|
68
|
+
id: languageScopeSchemaId,
|
|
69
|
+
allowComments: true,
|
|
70
|
+
allowTrailingCommas: true,
|
|
71
|
+
defaultSnippets: [{
|
|
72
|
+
label: ( nls.localize('snippetSchema.json.default', "Empty snippet")),
|
|
73
|
+
body: { '${1:snippetName}': { 'prefix': '${2:prefix}', 'body': '${3:snippet}', 'description': '${4:description}' } }
|
|
74
|
+
}],
|
|
75
|
+
type: 'object',
|
|
76
|
+
description: ( nls.localize('snippetSchema.json', 'User snippet configuration')),
|
|
77
|
+
additionalProperties: {
|
|
78
|
+
type: 'object',
|
|
79
|
+
required: ['body'],
|
|
80
|
+
properties: snippetSchemaProperties,
|
|
81
|
+
additionalProperties: false
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const globalSchemaId = 'vscode://schemas/global-snippets';
|
|
85
|
+
const globalSchema = {
|
|
86
|
+
id: globalSchemaId,
|
|
87
|
+
allowComments: true,
|
|
88
|
+
allowTrailingCommas: true,
|
|
89
|
+
defaultSnippets: [{
|
|
90
|
+
label: ( nls.localize('snippetSchema.json.default', "Empty snippet")),
|
|
91
|
+
body: { '${1:snippetName}': { 'scope': '${2:scope}', 'prefix': '${3:prefix}', 'body': '${4:snippet}', 'description': '${5:description}' } }
|
|
92
|
+
}],
|
|
93
|
+
type: 'object',
|
|
94
|
+
description: ( nls.localize('snippetSchema.json', 'User snippet configuration')),
|
|
95
|
+
additionalProperties: {
|
|
96
|
+
type: 'object',
|
|
97
|
+
required: ['body'],
|
|
98
|
+
properties: {
|
|
99
|
+
...snippetSchemaProperties,
|
|
100
|
+
scope: {
|
|
101
|
+
description: ( nls.localize(
|
|
102
|
+
'snippetSchema.json.scope',
|
|
103
|
+
"A list of language names to which this snippet applies, e.g. 'typescript,javascript'."
|
|
104
|
+
)),
|
|
105
|
+
type: 'string'
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
additionalProperties: false
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const reg = ( Registry.as(JSONContributionRegistry.Extensions.JSONContribution));
|
|
112
|
+
reg.registerSchema(languageScopeSchemaId, languageScopeSchema);
|
|
113
|
+
reg.registerSchema(globalSchemaId, globalSchema);
|
|
@@ -13,10 +13,11 @@ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
|
13
13
|
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
14
14
|
import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
|
|
15
15
|
import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
|
|
16
|
-
import
|
|
16
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
17
17
|
import { getColorStyleElement, getColorClass } from '../../terminal/browser/terminalIcon.js';
|
|
18
18
|
import { showWithPinnedItems } from '../../../../platform/quickinput/browser/quickPickPin.js';
|
|
19
19
|
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
20
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
20
21
|
const QUICKOPEN_DETAIL_CONFIG = 'task.quickOpen.detail';
|
|
21
22
|
const QUICKOPEN_SKIP_CONFIG = 'task.quickOpen.skip';
|
|
22
23
|
const SHOW_ALL = ( nls.localize('taskQuickPick.showAll', "Show All Tasks..."));
|
|
@@ -10,9 +10,10 @@ import { TaskQuickPick } from './taskQuickPick.js';
|
|
|
10
10
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
11
11
|
import { isString } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
12
12
|
import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
|
|
13
|
-
import
|
|
13
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
14
14
|
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
15
15
|
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
16
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
16
17
|
let TasksQuickAccessProvider = class TasksQuickAccessProvider extends PickerQuickAccessProvider {
|
|
17
18
|
constructor(extensionService, _taskService, _configurationService, _quickInputService, _notificationService, _dialogService, _themeService, _storageService) {
|
|
18
19
|
super(TasksQuickAccessProvider.PREFIX, {
|
|
@@ -13,8 +13,9 @@ import { ILifecycleService } from '../../../services/lifecycle/common/lifecycle.
|
|
|
13
13
|
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
14
14
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
15
15
|
import { TerminalContextKeys } from '../common/terminalContextKey.js';
|
|
16
|
-
import
|
|
16
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
17
17
|
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
18
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
18
19
|
let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
|
|
19
20
|
setGroup(group) {
|
|
20
21
|
this._group = group;
|
|
@@ -25,7 +25,7 @@ import { IClipboardService } from 'monaco-editor/esm/vs/platform/clipboard/commo
|
|
|
25
25
|
import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
26
26
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
27
27
|
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
28
|
-
import
|
|
28
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
29
29
|
import { containsDragType, CodeDataTransfers } from 'monaco-editor/esm/vs/platform/dnd/browser/dnd.js';
|
|
30
30
|
import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
|
|
31
31
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
@@ -70,6 +70,7 @@ import { IHistoryService } from '../../../services/history/common/history.js';
|
|
|
70
70
|
import { IWorkbenchLayoutService } from '../../../services/layout/browser/layoutService.js';
|
|
71
71
|
import { IPathService } from '../../../services/path/common/pathService.js';
|
|
72
72
|
import { IPreferencesService } from '../../../services/preferences/common/preferences.js';
|
|
73
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
73
74
|
let xtermConstructor;
|
|
74
75
|
const shellIntegrationSupportedShellTypes = [
|
|
75
76
|
"bash" ,
|
|
@@ -11,10 +11,10 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
|
11
11
|
import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
12
12
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
13
13
|
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
14
|
-
import
|
|
14
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
15
15
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
16
16
|
import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
|
|
17
|
-
import { TerminalLocation, TerminalExitReason, TitleEventSource, ITerminalLogService } from '../../../../platform/terminal/common/terminal.js';
|
|
17
|
+
import { TerminalLocation, TerminalExtensions, TerminalExitReason, TitleEventSource, ITerminalLogService } from '../../../../platform/terminal/common/terminal.js';
|
|
18
18
|
import { formatMessageForTerminal } from '../../../../platform/terminal/common/terminalStrings.js';
|
|
19
19
|
import { iconForeground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
|
|
20
20
|
import { getIconRegistry } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
|
|
@@ -46,6 +46,8 @@ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/com
|
|
|
46
46
|
import { TerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/terminalCapabilityStore.js';
|
|
47
47
|
import { ITimerService } from '../../../services/timer/browser/timerService.js';
|
|
48
48
|
import { mark } from 'monaco-editor/esm/vs/base/common/performance.js';
|
|
49
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
50
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
49
51
|
let TerminalService = class TerminalService {
|
|
50
52
|
get isProcessSupportRegistered() { return !!this._processSupportContextKey.get(); }
|
|
51
53
|
get connectionState() { return this._connectionState; }
|
|
@@ -163,7 +165,7 @@ let TerminalService = class TerminalService {
|
|
|
163
165
|
this._handleInstanceContextKeys();
|
|
164
166
|
this._terminalShellTypeContextKey = TerminalContextKeys.shellType.bindTo(this._contextKeyService);
|
|
165
167
|
this._processSupportContextKey = TerminalContextKeys.processSupported.bindTo(this._contextKeyService);
|
|
166
|
-
this._processSupportContextKey.set(!isWeb || this._remoteAgentService.getConnection() !== null);
|
|
168
|
+
this._processSupportContextKey.set(!isWeb || this._remoteAgentService.getConnection() !== null || ( Registry.as(TerminalExtensions.Backend)).getTerminalBackend() !== undefined);
|
|
167
169
|
this._terminalHasBeenCreated = TerminalContextKeys.terminalHasBeenCreated.bindTo(this._contextKeyService);
|
|
168
170
|
this._terminalCountContextKey = TerminalContextKeys.count.bindTo(this._contextKeyService);
|
|
169
171
|
this._terminalEditorActive = TerminalContextKeys.terminalEditorActive.bindTo(this._contextKeyService);
|
|
@@ -3,6 +3,7 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
|
3
3
|
import { MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
4
4
|
import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
5
5
|
import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
6
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
6
7
|
import { IBrowserWorkbenchEnvironmentService } from '../../environment/browser/environmentService.js';
|
|
7
8
|
function getAuthenticationProviderActivationEvent(id) { return `onAuthenticationRequest:${id}`; }
|
|
8
9
|
function readAccountUsages(storageService, providerId, accountName) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
2
|
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
3
3
|
import { isWorkspaceToOpen, isFileToOpen } from '../../../../platform/window/common/window.js';
|
|
4
|
-
import
|
|
4
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
5
5
|
import { isSavedWorkspace, isTemporaryWorkspace, IWorkspaceContextService, WORKSPACE_EXTENSION } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
6
6
|
import { IHistoryService } from '../../history/common/history.js';
|
|
7
7
|
import { IWorkbenchEnvironmentService } from '../../environment/common/environmentService.js';
|
|
@@ -27,6 +27,7 @@ import { ICodeEditorService } from 'monaco-editor/esm/vs/editor/browser/services
|
|
|
27
27
|
import { IEditorService } from '../../editor/common/editorService.js';
|
|
28
28
|
import { EditorOpenSource } from 'monaco-editor/esm/vs/platform/editor/common/editor.js';
|
|
29
29
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
30
|
+
import { getFileNamesMessage, IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
30
31
|
let AbstractFileDialogService = class AbstractFileDialogService {
|
|
31
32
|
constructor(hostService, contextService, historyService, environmentService, instantiationService, configurationService, fileService, openerService, dialogService, languageService, workspacesService, labelService, pathService, commandService, editorService, codeEditorService, logService) {
|
|
32
33
|
this.hostService = hostService;
|
|
@@ -6,7 +6,7 @@ import { FileKind, IFileService } from 'monaco-editor/esm/vs/platform/files/comm
|
|
|
6
6
|
import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
|
|
7
7
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
8
8
|
import { isWindows } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
9
|
-
import
|
|
9
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
10
10
|
import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
|
|
11
11
|
import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
12
12
|
import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
|
|
@@ -27,6 +27,7 @@ import { IEditorService } from '../../editor/common/editorService.js';
|
|
|
27
27
|
import { normalizeDriveLetter } from 'monaco-editor/esm/vs/base/common/labels.js';
|
|
28
28
|
import { IPathService } from '../../path/common/pathService.js';
|
|
29
29
|
import { IAccessibilityService } from 'monaco-editor/esm/vs/platform/accessibility/common/accessibility.js';
|
|
30
|
+
import { IFileDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
30
31
|
var OpenLocalFileCommand;
|
|
31
32
|
( (function(OpenLocalFileCommand) {
|
|
32
33
|
OpenLocalFileCommand.ID = 'workbench.action.files.openLocalFile';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
2
|
import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
|
|
3
3
|
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
4
5
|
import { DialogsModel } from '../../../common/dialogs.js';
|
|
5
6
|
import { IWorkbenchEnvironmentService } from '../../environment/common/environmentService.js';
|
|
6
7
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
2
3
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
3
4
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
4
5
|
import { IRemoteAuthorityResolverService } from '../../../../platform/remote/common/remoteAuthorityResolver.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
2
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
3
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
3
4
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
4
5
|
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
5
6
|
import { IURLService } from '../../../../platform/url/common/url.js';
|
|
@@ -9,7 +9,7 @@ import { isEqualOrParent } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
|
9
9
|
import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
|
|
10
10
|
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
11
11
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
12
|
-
import
|
|
12
|
+
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
13
13
|
import { ImplicitActivationEvents } from '../../../../platform/extensionManagement/common/implicitActivationEvents.js';
|
|
14
14
|
import { ExtensionIdentifierMap, ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
|
|
15
15
|
import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
|
|
@@ -36,6 +36,7 @@ import { ExtensionsRegistry, ExtensionMessageCollector } from './extensionsRegis
|
|
|
36
36
|
import { checkActivateWorkspaceContainsExtension, checkGlobFileExists } from './workspaceContains.js';
|
|
37
37
|
import { ILifecycleService } from '../../lifecycle/common/lifecycle.js';
|
|
38
38
|
import { IRemoteAgentService } from '../../remote/common/remoteAgentService.js';
|
|
39
|
+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
|
39
40
|
const hasOwnProperty = Object.hasOwnProperty;
|
|
40
41
|
const NO_OP_VOID_PROMISE = Promise.resolve(undefined);
|
|
41
42
|
let AbstractExtensionService = class AbstractExtensionService extends Disposable {
|
package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { ModelOperations } from '@vscode/vscode-languagedetection';
|
|
2
|
+
import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
|
|
3
|
+
import { EditorSimpleWorker } from 'monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js';
|
|
4
|
+
function create(host) {
|
|
5
|
+
return ( new LanguageDetectionSimpleWorker(host, null));
|
|
6
|
+
}
|
|
7
|
+
class LanguageDetectionSimpleWorker extends EditorSimpleWorker {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this._loadFailed = false;
|
|
11
|
+
this.modelIdToCoreId = ( new Map());
|
|
12
|
+
}
|
|
13
|
+
async detectLanguage(uri, langBiases, preferHistory, supportedLangs) {
|
|
14
|
+
const languages = [];
|
|
15
|
+
const confidences = [];
|
|
16
|
+
const stopWatch = ( new StopWatch());
|
|
17
|
+
const documentTextSample = this.getTextForDetection(uri);
|
|
18
|
+
if (!documentTextSample) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const neuralResolver = async () => {
|
|
22
|
+
for await (const language of this.detectLanguagesImpl(documentTextSample)) {
|
|
23
|
+
if (!( this.modelIdToCoreId.has(language.languageId))) {
|
|
24
|
+
this.modelIdToCoreId.set(language.languageId, await this._host.fhr('getLanguageId', [language.languageId]));
|
|
25
|
+
}
|
|
26
|
+
const coreId = this.modelIdToCoreId.get(language.languageId);
|
|
27
|
+
if (coreId && (!supportedLangs?.length || supportedLangs.includes(coreId))) {
|
|
28
|
+
languages.push(coreId);
|
|
29
|
+
confidences.push(language.confidence);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
stopWatch.stop();
|
|
33
|
+
if (languages.length) {
|
|
34
|
+
this._host.fhr('sendTelemetryEvent', [languages, confidences, stopWatch.elapsed()]);
|
|
35
|
+
return languages[0];
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
};
|
|
39
|
+
const neural = await neuralResolver();
|
|
40
|
+
if (neural) {
|
|
41
|
+
return neural;
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
getTextForDetection(uri) {
|
|
46
|
+
const editorModel = this._getModel(uri);
|
|
47
|
+
if (!editorModel) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const end = editorModel.positionAt(10000);
|
|
51
|
+
const content = editorModel.getValueInRange({
|
|
52
|
+
startColumn: 1,
|
|
53
|
+
startLineNumber: 1,
|
|
54
|
+
endColumn: end.column,
|
|
55
|
+
endLineNumber: end.lineNumber
|
|
56
|
+
});
|
|
57
|
+
return content;
|
|
58
|
+
}
|
|
59
|
+
async getModelOperations() {
|
|
60
|
+
if (this._modelOperations) {
|
|
61
|
+
return this._modelOperations;
|
|
62
|
+
}
|
|
63
|
+
this._modelOperations = ( new ModelOperations({
|
|
64
|
+
modelJsonLoaderFunc: async () => {
|
|
65
|
+
const response = await fetch(await this._host.fhr('getModelJsonUri', []));
|
|
66
|
+
try {
|
|
67
|
+
const modelJSON = await response.json();
|
|
68
|
+
return modelJSON;
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
const message = `Failed to parse model JSON.`;
|
|
72
|
+
throw new Error(message);
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
weightsLoaderFunc: async () => {
|
|
76
|
+
const response = await fetch(await this._host.fhr('getWeightsUri', []));
|
|
77
|
+
const buffer = await response.arrayBuffer();
|
|
78
|
+
return buffer;
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
return this._modelOperations;
|
|
82
|
+
}
|
|
83
|
+
adjustLanguageConfidence(modelResult) {
|
|
84
|
+
switch (modelResult.languageId) {
|
|
85
|
+
case 'js':
|
|
86
|
+
case 'html':
|
|
87
|
+
case 'json':
|
|
88
|
+
case 'ts':
|
|
89
|
+
case 'css':
|
|
90
|
+
case 'py':
|
|
91
|
+
case 'xml':
|
|
92
|
+
case 'php':
|
|
93
|
+
modelResult.confidence += LanguageDetectionSimpleWorker.positiveConfidenceCorrectionBucket1;
|
|
94
|
+
break;
|
|
95
|
+
case 'cpp':
|
|
96
|
+
case 'sh':
|
|
97
|
+
case 'java':
|
|
98
|
+
case 'cs':
|
|
99
|
+
case 'c':
|
|
100
|
+
modelResult.confidence += LanguageDetectionSimpleWorker.positiveConfidenceCorrectionBucket2;
|
|
101
|
+
break;
|
|
102
|
+
case 'bat':
|
|
103
|
+
case 'ini':
|
|
104
|
+
case 'makefile':
|
|
105
|
+
case 'sql':
|
|
106
|
+
case 'csv':
|
|
107
|
+
case 'toml':
|
|
108
|
+
modelResult.confidence -= LanguageDetectionSimpleWorker.negativeConfidenceCorrection;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
return modelResult;
|
|
112
|
+
}
|
|
113
|
+
async *detectLanguagesImpl(content) {
|
|
114
|
+
if (this._loadFailed) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
let modelOperations;
|
|
118
|
+
try {
|
|
119
|
+
modelOperations = await this.getModelOperations();
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
console.log(e);
|
|
123
|
+
this._loadFailed = true;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
let modelResults;
|
|
127
|
+
try {
|
|
128
|
+
modelResults = await modelOperations.runModel(content);
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
console.warn(e);
|
|
132
|
+
}
|
|
133
|
+
if (!modelResults
|
|
134
|
+
|| modelResults.length === 0
|
|
135
|
+
|| modelResults[0].confidence < LanguageDetectionSimpleWorker.expectedRelativeConfidence) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const firstModelResult = this.adjustLanguageConfidence(modelResults[0]);
|
|
139
|
+
if (firstModelResult.confidence < LanguageDetectionSimpleWorker.expectedRelativeConfidence) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const possibleLanguages = [firstModelResult];
|
|
143
|
+
for (let current of modelResults) {
|
|
144
|
+
if (current === firstModelResult) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
current = this.adjustLanguageConfidence(current);
|
|
148
|
+
const currentHighest = possibleLanguages[possibleLanguages.length - 1];
|
|
149
|
+
if (currentHighest.confidence - current.confidence >= LanguageDetectionSimpleWorker.expectedRelativeConfidence) {
|
|
150
|
+
while (possibleLanguages.length) {
|
|
151
|
+
yield possibleLanguages.shift();
|
|
152
|
+
}
|
|
153
|
+
if (current.confidence > LanguageDetectionSimpleWorker.expectedRelativeConfidence) {
|
|
154
|
+
possibleLanguages.push(current);
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
if (current.confidence > LanguageDetectionSimpleWorker.expectedRelativeConfidence) {
|
|
161
|
+
possibleLanguages.push(current);
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
LanguageDetectionSimpleWorker.expectedRelativeConfidence = 0.2;
|
|
170
|
+
LanguageDetectionSimpleWorker.positiveConfidenceCorrectionBucket1 = 0.05;
|
|
171
|
+
LanguageDetectionSimpleWorker.positiveConfidenceCorrectionBucket2 = 0.025;
|
|
172
|
+
LanguageDetectionSimpleWorker.negativeConfidenceCorrection = 0.5;
|
|
173
|
+
export { LanguageDetectionSimpleWorker, create };
|