@codingame/monaco-vscode-api 1.79.0-next.0 → 1.79.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 +7 -5
- package/dist/activity.d.ts +8 -108
- package/dist/api.js +3 -3
- package/dist/colorRegistry.d.ts +2 -2
- package/dist/contextkey.d.ts +2 -2
- package/dist/default-extension.js +23 -0
- package/dist/editor.d.ts +4 -320
- package/dist/editorBrowser.d.ts +327 -10
- package/dist/event.d.ts +1 -1
- package/dist/{extension-tools-d0cfdea1.js → extension-tools-0c4c1ad7.js} +345 -210
- package/dist/extensions.d.ts +3 -4
- package/dist/extensions.d2.ts +1 -1
- package/dist/extensions.js +4 -37
- package/dist/extensionsRegistry.d.ts +1 -1
- package/dist/files.d.ts +2 -2
- package/dist/keybinding.d.ts +1 -1
- package/dist/languageFeatures.d.ts +6 -7
- package/dist/log.d.ts +1 -1
- package/dist/monaco-treemending.js +15 -1
- package/dist/monaco.d.ts +31 -32
- package/dist/monaco.js +62 -6
- package/dist/node_modules/rollup-plugin-styles/dist/runtime/inject-css.js +2 -0
- package/dist/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +4 -0
- package/dist/rollup-extension-directory-plugin.js +1 -2
- package/dist/rollup-vsix-plugin.js +1 -2
- package/dist/service-override/configuration.d.ts +2 -2
- package/dist/service-override/editor.d.ts +13 -0
- package/dist/service-override/{modelEditor.js → editor.js} +6 -62
- package/dist/service-override/files.d.ts +5 -5
- package/dist/service-override/files.js +14 -2
- package/dist/service-override/keybindings.js +3 -79
- package/dist/service-override/layout.js +6 -2
- package/dist/service-override/model.d.ts +7 -0
- package/dist/service-override/model.js +10 -0
- package/dist/service-override/quickaccess.d.ts +7 -0
- package/dist/service-override/quickaccess.js +80 -0
- package/dist/service-override/snippets.js +5 -1
- package/dist/service-override/textmate.js +7 -2
- package/dist/service-override/theme.d.ts +1 -1
- package/dist/service-override/tools/editor.js +73 -0
- package/dist/service-override/views.d.ts +63 -201
- package/dist/service-override/views.js +102 -8
- package/dist/services.d.ts +116 -19
- package/dist/vscode/vs/base/browser/ui/centered/centeredViewLayout.js +178 -0
- package/dist/vscode/vs/base/browser/ui/grid/grid.js +452 -0
- package/dist/vscode/vs/base/browser/ui/grid/gridview.css.js +4 -0
- package/dist/vscode/vs/base/browser/ui/grid/gridview.js +999 -0
- package/dist/vscode/vs/base/browser/ui/iconLabel/simpleIconLabel.js +14 -0
- package/dist/vscode/vs/base/browser/ui/menu/menubar.css.js +4 -0
- package/dist/vscode/vs/base/browser/ui/menu/menubar.js +1 -1
- package/dist/vscode/vs/base/browser/ui/splitview/paneview.css.js +4 -0
- package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +1 -1
- package/dist/vscode/vs/platform/extensionManagement/common/extensionManagement.js +2 -1
- package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
- package/dist/vscode/vs/platform/product/common/product.js +48 -0
- package/dist/vscode/vs/platform/quickinput/browser/quickPickPin.js +94 -0
- package/dist/vscode/vs/platform/terminal/common/terminal.js +3 -0
- package/dist/vscode/vs/platform/update/common/update.js +11 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
- package/dist/vscode/vs/workbench/api/browser/mainThreadStatusBar.js +68 -0
- package/dist/vscode/vs/workbench/api/common/extHostStatusBar.js +234 -0
- package/dist/vscode/vs/workbench/api/common/extHostTypes.js +6 -1
- package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +20 -17
- package/dist/vscode/vs/workbench/browser/actions/quickAccessActions.js +204 -0
- package/dist/vscode/vs/workbench/browser/dnd.js +27 -2
- package/dist/vscode/vs/workbench/browser/editor.js +94 -0
- package/dist/vscode/vs/workbench/browser/labels.js +23 -2
- package/dist/vscode/vs/workbench/browser/media/part.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/part.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +3 -3
- package/dist/vscode/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/activitybar/media/activitybarpart.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +14 -26
- package/dist/vscode/vs/workbench/browser/parts/compositePart.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/binaryDiffEditor.js +43 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/binaryEditor.js +55 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbs.js +330 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsControl.js +690 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsModel.js +142 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +414 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editor.contribution.js +800 -6
- package/dist/vscode/vs/workbench/browser/parts/editor/editor.js +56 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +1484 -107
- package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1121 -4
- package/dist/vscode/vs/workbench/browser/parts/editor/editorDropTarget.js +499 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupView.js +1219 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupWatermark.js +137 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPanes.js +297 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPart.js +841 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPlaceholder.js +235 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/editor/editorStatus.js +1152 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/editorsObserver.js +339 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/editordroptarget.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/editorstatus.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/sidebysideeditor.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/media/titlecontrol.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/noTabsTitleControl.js +243 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/tabFocus.js +77 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/tabsTitleControl.js +1504 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/textCodeEditor.js +79 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +304 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/textEditor.js +220 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/textResourceEditor.js +149 -0
- package/dist/vscode/vs/workbench/browser/parts/editor/titleControl.js +284 -0
- package/dist/vscode/vs/workbench/browser/parts/media/compositepart.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsActions.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsActions.js +8 -8
- package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCenter.js +2 -2
- package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsList.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/panel/media/basepanelpart.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/panel/media/panelpart.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +19 -5
- package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +2 -2
- package/dist/vscode/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarActions.js +109 -0
- package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarItem.js +224 -0
- package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarModel.js +251 -0
- package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarPart.js +439 -0
- package/dist/vscode/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +76 -3
- package/dist/vscode/vs/workbench/browser/parts/views/media/paneviewlet.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/views/media/views.css.js +4 -0
- package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +5 -5
- package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
- package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +4 -4
- package/dist/vscode/vs/workbench/browser/quickaccess.js +6 -2
- package/dist/vscode/vs/workbench/browser/workbench.contribution.js +1108 -0
- package/dist/vscode/vs/workbench/common/contextkeys.js +34 -1
- package/dist/vscode/vs/workbench/common/editor/editorGroupModel.js +674 -0
- package/dist/vscode/vs/workbench/common/editor.js +57 -1
- package/dist/vscode/vs/workbench/common/theme.js +35 -35
- package/dist/vscode/vs/workbench/common/views.js +1 -1
- package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +4 -4
- package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
- package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +77 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +217 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +24 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +1 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +1 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +30 -4
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +13 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +77 -127
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugToolBar.js +1 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +1 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/disassemblyView.js +620 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/exceptionWidget.js +1 -1
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugHover.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/media/repl.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +1 -1
- package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +2 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +71 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/editors/textFileEditor.js +225 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +5 -4
- package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +270 -4
- package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +4 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +24 -6
- package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +8 -1
- package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +10 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/files/browser/views/openEditorsView.js +608 -0
- package/dist/vscode/vs/workbench/contrib/files/common/files.js +2 -1
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionInputPart.js +1 -1
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionWidget.js +1 -1
- package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/media/interactiveSession.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionContextKeys.js +9 -1
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionModel.js +305 -0
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionService.js +6 -1
- package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionServiceImpl.js +379 -0
- package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +2 -2
- package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +33 -1
- package/dist/vscode/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +130 -0
- package/dist/vscode/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +225 -0
- package/dist/vscode/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +21 -17
- package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +1 -1
- package/dist/vscode/vs/workbench/contrib/search/browser/anythingQuickAccess.js +757 -0
- package/dist/vscode/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/search/browser/search.contribution.js +428 -0
- package/dist/vscode/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +219 -0
- package/dist/vscode/vs/workbench/contrib/search/common/cacheState.js +85 -0
- package/dist/vscode/vs/workbench/contrib/search/common/constants.js +2 -0
- package/dist/vscode/vs/workbench/contrib/search/common/search.js +119 -1
- package/dist/vscode/vs/workbench/contrib/tasks/browser/taskQuickPick.js +385 -0
- package/dist/vscode/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +108 -0
- package/dist/vscode/vs/workbench/contrib/tasks/common/tasks.js +351 -0
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminal.js +4 -0
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalIcon.js +44 -0
- package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +147 -1
- package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
- package/dist/vscode/vs/workbench/services/editor/browser/editorDropService.js +3 -0
- package/dist/vscode/vs/workbench/services/editor/browser/editorResolverService.js +619 -0
- package/dist/vscode/vs/workbench/services/editor/browser/editorService.js +720 -0
- package/dist/vscode/vs/workbench/services/editor/common/editorGroupFinder.js +116 -0
- package/dist/vscode/vs/workbench/services/editor/common/editorGroupsService.js +6 -1
- package/dist/vscode/vs/workbench/services/editor/common/editorResolverService.js +34 -1
- package/dist/vscode/vs/workbench/services/history/browser/historyService.js +1451 -0
- package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +1 -1
- package/dist/vscode/vs/workbench/services/hover/browser/media/hover.css.js +4 -0
- package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +2 -1
- package/dist/vscode/vs/workbench/services/outline/browser/outline.js +3 -0
- package/dist/vscode/vs/workbench/services/progress/browser/progressIndicator.js +72 -1
- package/dist/vscode/vs/workbench/services/quickinput/browser/quickInputService.js +67 -0
- package/dist/vscode/vs/workbench/services/search/common/search.js +2 -112
- package/dist/vscode/vs/workbench/services/semanticSimilarity/common/semanticSimilarityService.js +54 -1
- package/dist/vscode/vs/workbench/services/statusbar/browser/statusbar.js +15 -0
- package/dist/vscode/vs/workbench/services/textMate/browser/worker/textMate.worker.js +90 -0
- package/dist/vscode/vs/workbench/services/textMate/browser/worker/textMateWorkerModel.js +133 -0
- package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.js +110 -3
- package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.js +1 -1
- package/dist/vscode-services/extHost.js +12 -5
- package/dist/vscode-services/missing-services.js +117 -3
- package/dist/vscode-services/window.js +21 -2
- package/dist/vscode-services/workspace.js +2 -1
- package/dist/workbenchThemeService.d.ts +1 -1
- package/dist/workers/textMate.worker.d.ts +2 -0
- package/dist/workers/textMate.worker.js +3 -0
- package/dist/workspace.d.ts +1 -1
- package/monaco-editor-treemending.patch +784 -784
- package/package.json +42 -22
- package/dist/assets/activityaction.css +0 -224
- package/dist/assets/activitybarpart.css +0 -65
- package/dist/assets/basepanelpart.css +0 -221
- package/dist/assets/breakpointWidget.css +0 -31
- package/dist/assets/callHierarchy.css +0 -62
- package/dist/assets/callStackEditorContribution.css +0 -12
- package/dist/assets/compositepart.css +0 -17
- package/dist/assets/debug.contribution.css +0 -138
- package/dist/assets/debugHover.css +0 -80
- package/dist/assets/debugToolBar.css +0 -49
- package/dist/assets/debugViewlet.css +0 -337
- package/dist/assets/editorquickaccess.css +0 -8
- package/dist/assets/exceptionWidget.css +0 -52
- package/dist/assets/explorerviewlet.css +0 -129
- package/dist/assets/hover.css +0 -127
- package/dist/assets/interactiveSession.css +0 -340
- package/dist/assets/menubar.css +0 -111
- package/dist/assets/menubarControl.css +0 -61
- package/dist/assets/notificationsActions.css +0 -14
- package/dist/assets/notificationsCenter.css +0 -69
- package/dist/assets/notificationsList.css +0 -152
- package/dist/assets/notificationsToasts.css +0 -63
- package/dist/assets/panelpart.css +0 -75
- package/dist/assets/paneview.css +0 -148
- package/dist/assets/paneviewlet.css +0 -79
- package/dist/assets/part.css +0 -109
- package/dist/assets/repl.css +0 -145
- package/dist/assets/sidebarpart.css +0 -61
- package/dist/assets/tunnelView.css +0 -107
- package/dist/assets/typeHierarchy.css +0 -62
- package/dist/assets/views.css +0 -297
- package/dist/override/vs/workbench/browser/parts/editor/textEditor.js +0 -2
- package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +0 -2
- package/dist/service-override/modelEditor.d.ts +0 -14
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -249
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +0 -10
- package/dist/vscode/vs/workbench/services/search/common/searchHelpers.js +0 -72
- package/dist/vscode/vs/workbench/services/search/common/searchService.js +0 -355
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
-
import
|
|
2
|
+
import './media/hover.css.js';
|
|
3
3
|
import { registerThemingParticipant } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
4
4
|
import { editorHoverBorder } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
|
|
5
5
|
import { IContextViewService, IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import n from '../../../../../../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
var css = ".monaco-workbench .workbench-hover{background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);box-shadow:0 2px 8px var(--vscode-widget-shadow);color:var(--vscode-editorHoverWidget-foreground);font-size:13px;line-height:19px;max-width:700px;overflow:hidden;position:relative;z-index:40}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{pointer-events:none;position:absolute;z-index:41}.monaco-workbench .workbench-hover-pointer:after{background-color:var(--vscode-editorHoverWidget-background);border-bottom:1px solid var(--vscode-editorHoverWidget-border);border-right:1px solid var(--vscode-editorHoverWidget-border);content:\"\";height:5px;position:absolute;width:5px}.monaco-workbench .locked .workbench-hover-pointer:after{border-bottom-width:2px;border-right-width:2px;height:4px;width:4px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-color:var(--vscode-focusBorder);outline-offset:-1px;text-decoration:underline}.monaco-workbench .workbench-hover a:active,.monaco-workbench .workbench-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-left:16px;margin-right:0}";
|
|
3
|
+
n(css,{});
|
|
4
|
+
export { css, css as default };
|
package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
2
2
|
const ILanguageDetectionService = ( createDecorator('ILanguageDetectionService'));
|
|
3
3
|
const LanguageDetectionLanguageEventSource = 'languageDetection';
|
|
4
|
-
|
|
4
|
+
const AutomaticLanguageDetectionLikelyWrongId = 'automaticlanguagedetection.likelywrong';
|
|
5
|
+
export { AutomaticLanguageDetectionLikelyWrongId, ILanguageDetectionService, LanguageDetectionLanguageEventSource };
|
|
@@ -1,5 +1,76 @@
|
|
|
1
1
|
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
2
2
|
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
3
|
+
import { emptyProgressRunner } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
|
|
4
|
+
class EditorProgressIndicator extends Disposable {
|
|
5
|
+
constructor(progressBar, group) {
|
|
6
|
+
super();
|
|
7
|
+
this.progressBar = progressBar;
|
|
8
|
+
this.group = group;
|
|
9
|
+
this.registerListeners();
|
|
10
|
+
}
|
|
11
|
+
registerListeners() {
|
|
12
|
+
this._register(this.group.onDidModelChange(e => {
|
|
13
|
+
if (e.kind === 6 ||
|
|
14
|
+
(e.kind === 4 && this.group.isEmpty)) {
|
|
15
|
+
this.progressBar.stop().hide();
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
show(infiniteOrTotal, delay) {
|
|
20
|
+
if (this.group.isEmpty) {
|
|
21
|
+
return emptyProgressRunner;
|
|
22
|
+
}
|
|
23
|
+
if (infiniteOrTotal === true) {
|
|
24
|
+
return this.doShow(true, delay);
|
|
25
|
+
}
|
|
26
|
+
return this.doShow(infiniteOrTotal, delay);
|
|
27
|
+
}
|
|
28
|
+
doShow(infiniteOrTotal, delay) {
|
|
29
|
+
if (typeof infiniteOrTotal === 'boolean') {
|
|
30
|
+
this.progressBar.infinite().show(delay);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.progressBar.total(infiniteOrTotal).show(delay);
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
total: (total) => {
|
|
37
|
+
this.progressBar.total(total);
|
|
38
|
+
},
|
|
39
|
+
worked: (worked) => {
|
|
40
|
+
if (this.progressBar.hasTotal()) {
|
|
41
|
+
this.progressBar.worked(worked);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.progressBar.infinite().show();
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
done: () => {
|
|
48
|
+
this.progressBar.stop().hide();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
async showWhile(promise, delay) {
|
|
53
|
+
if (this.group.isEmpty) {
|
|
54
|
+
try {
|
|
55
|
+
await promise;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return this.doShowWhile(promise, delay);
|
|
61
|
+
}
|
|
62
|
+
async doShowWhile(promise, delay) {
|
|
63
|
+
try {
|
|
64
|
+
this.progressBar.infinite().show(delay);
|
|
65
|
+
await promise;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
this.progressBar.stop().hide();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
3
74
|
var ProgressIndicatorState;
|
|
4
75
|
( (function(ProgressIndicatorState) {
|
|
5
76
|
( (function(Type) {
|
|
@@ -171,4 +242,4 @@ class AbstractProgressScope extends Disposable {
|
|
|
171
242
|
}
|
|
172
243
|
}
|
|
173
244
|
}
|
|
174
|
-
export { AbstractProgressScope, ScopedProgressIndicator };
|
|
245
|
+
export { AbstractProgressScope, EditorProgressIndicator, ScopedProgressIndicator };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { ILayoutService } from 'monaco-editor/esm/vs/platform/layout/browser/layoutService.js';
|
|
3
|
+
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
4
|
+
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
5
|
+
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
6
|
+
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
7
|
+
import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
|
|
8
|
+
import { QuickInputService as QuickInputService$1 } from 'monaco-editor/esm/vs/platform/quickinput/browser/quickInputService.js';
|
|
9
|
+
import { InQuickPickContextKey } from '../../../browser/quickaccess.js';
|
|
10
|
+
import { IHoverService } from '../../hover/browser/hover.js';
|
|
11
|
+
let QuickInputService = class QuickInputService extends QuickInputService$1 {
|
|
12
|
+
constructor(configurationService, instantiationService, keybindingService, contextKeyService, themeService, layoutService, hoverService) {
|
|
13
|
+
super(instantiationService, contextKeyService, themeService, layoutService);
|
|
14
|
+
this.configurationService = configurationService;
|
|
15
|
+
this.keybindingService = keybindingService;
|
|
16
|
+
this.hoverService = hoverService;
|
|
17
|
+
this.hoverDelegate = ( new QuickInputHoverDelegate(this.configurationService, this.hoverService));
|
|
18
|
+
this.inQuickInputContext = InQuickPickContextKey.bindTo(this.contextKeyService);
|
|
19
|
+
this.registerListeners();
|
|
20
|
+
}
|
|
21
|
+
registerListeners() {
|
|
22
|
+
this._register(this.onShow(() => this.inQuickInputContext.set(true)));
|
|
23
|
+
this._register(this.onHide(() => this.inQuickInputContext.set(false)));
|
|
24
|
+
}
|
|
25
|
+
createController() {
|
|
26
|
+
return super.createController(this.layoutService, {
|
|
27
|
+
ignoreFocusOut: () => !this.configurationService.getValue('workbench.quickOpen.closeOnFocusLost'),
|
|
28
|
+
backKeybindingLabel: () => this.keybindingService.lookupKeybinding('workbench.action.quickInputBack')?.getLabel() || undefined,
|
|
29
|
+
hoverDelegate: this.hoverDelegate
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
QuickInputService = ( __decorate([
|
|
34
|
+
( __param(0, IConfigurationService)),
|
|
35
|
+
( __param(1, IInstantiationService)),
|
|
36
|
+
( __param(2, IKeybindingService)),
|
|
37
|
+
( __param(3, IContextKeyService)),
|
|
38
|
+
( __param(4, IThemeService)),
|
|
39
|
+
( __param(5, ILayoutService)),
|
|
40
|
+
( __param(6, IHoverService))
|
|
41
|
+
], QuickInputService));
|
|
42
|
+
class QuickInputHoverDelegate {
|
|
43
|
+
get delay() {
|
|
44
|
+
if (Date.now() - this.lastHoverHideTime < 200) {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
return this.configurationService.getValue('workbench.hover.delay');
|
|
48
|
+
}
|
|
49
|
+
constructor(configurationService, hoverService) {
|
|
50
|
+
this.configurationService = configurationService;
|
|
51
|
+
this.hoverService = hoverService;
|
|
52
|
+
this.lastHoverHideTime = 0;
|
|
53
|
+
this.placement = 'element';
|
|
54
|
+
}
|
|
55
|
+
showHover(options, focus) {
|
|
56
|
+
return this.hoverService.showHover({
|
|
57
|
+
...options,
|
|
58
|
+
showHoverHint: true,
|
|
59
|
+
hideOnKeyDown: false,
|
|
60
|
+
skipFadeInAnimation: true,
|
|
61
|
+
}, focus);
|
|
62
|
+
}
|
|
63
|
+
onDidHideHover() {
|
|
64
|
+
this.lastHoverHideTime = Date.now();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export { QuickInputService };
|
|
@@ -1,94 +1,13 @@
|
|
|
1
|
-
import { mapArrayOrNot } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
2
1
|
import * as glob from 'monaco-editor/esm/vs/base/common/glob.js';
|
|
3
2
|
import * as objects from 'monaco-editor/esm/vs/base/common/objects.js';
|
|
4
3
|
import * as extpath from 'monaco-editor/esm/vs/base/common/extpath.js';
|
|
5
|
-
import { getNLines } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
6
4
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
7
5
|
import * as path from 'monaco-editor/esm/vs/base/common/path.js';
|
|
8
|
-
|
|
9
|
-
const SEARCH_ELIDED_PREFIX = '⟪ ';
|
|
10
|
-
const SEARCH_ELIDED_SUFFIX = ' characters skipped ⟫';
|
|
11
|
-
const SEARCH_ELIDED_MIN_LEN = (SEARCH_ELIDED_PREFIX.length + SEARCH_ELIDED_SUFFIX.length + 5) * 2;
|
|
6
|
+
const SEARCH_EXCLUDE_CONFIG = 'search.exclude';
|
|
12
7
|
const ISearchService = ( createDecorator('searchService'));
|
|
13
8
|
function resultIsMatch(result) {
|
|
14
9
|
return !!result.preview;
|
|
15
10
|
}
|
|
16
|
-
function isFileMatch(p) {
|
|
17
|
-
return !!p.resource;
|
|
18
|
-
}
|
|
19
|
-
function isProgressMessage(p) {
|
|
20
|
-
return !!p.message;
|
|
21
|
-
}
|
|
22
|
-
class FileMatch {
|
|
23
|
-
constructor(resource) {
|
|
24
|
-
this.resource = resource;
|
|
25
|
-
this.results = [];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
class TextSearchMatch {
|
|
29
|
-
constructor(text, range, previewOptions, webviewIndex) {
|
|
30
|
-
this.ranges = range;
|
|
31
|
-
this.webviewIndex = webviewIndex;
|
|
32
|
-
const ranges = Array.isArray(range) ? range : [range];
|
|
33
|
-
if (previewOptions && previewOptions.matchLines === 1 && isSingleLineRangeList(ranges)) {
|
|
34
|
-
text = getNLines(text, previewOptions.matchLines);
|
|
35
|
-
let result = '';
|
|
36
|
-
let shift = 0;
|
|
37
|
-
let lastEnd = 0;
|
|
38
|
-
const leadingChars = Math.floor(previewOptions.charsPerLine / 5);
|
|
39
|
-
const matches = [];
|
|
40
|
-
for (const range of ranges) {
|
|
41
|
-
const previewStart = Math.max(range.startColumn - leadingChars, 0);
|
|
42
|
-
const previewEnd = range.startColumn + previewOptions.charsPerLine;
|
|
43
|
-
if (previewStart > lastEnd + leadingChars + SEARCH_ELIDED_MIN_LEN) {
|
|
44
|
-
const elision = SEARCH_ELIDED_PREFIX + (previewStart - lastEnd) + SEARCH_ELIDED_SUFFIX;
|
|
45
|
-
result += elision + text.slice(previewStart, previewEnd);
|
|
46
|
-
shift += previewStart - (lastEnd + elision.length);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
result += text.slice(lastEnd, previewEnd);
|
|
50
|
-
}
|
|
51
|
-
matches.push(( new OneLineRange(0, range.startColumn - shift, range.endColumn - shift)));
|
|
52
|
-
lastEnd = previewEnd;
|
|
53
|
-
}
|
|
54
|
-
this.preview = { text: result, matches: Array.isArray(this.ranges) ? matches : matches[0] };
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
const firstMatchLine = Array.isArray(range) ? range[0].startLineNumber : range.startLineNumber;
|
|
58
|
-
this.preview = {
|
|
59
|
-
text,
|
|
60
|
-
matches: mapArrayOrNot(range, r => ( new SearchRange(
|
|
61
|
-
r.startLineNumber - firstMatchLine,
|
|
62
|
-
r.startColumn,
|
|
63
|
-
r.endLineNumber - firstMatchLine,
|
|
64
|
-
r.endColumn
|
|
65
|
-
)))
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
function isSingleLineRangeList(ranges) {
|
|
71
|
-
const line = ranges[0].startLineNumber;
|
|
72
|
-
for (const r of ranges) {
|
|
73
|
-
if (r.startLineNumber !== line || r.endLineNumber !== line) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
class SearchRange {
|
|
80
|
-
constructor(startLineNumber, startColumn, endLineNumber, endColumn) {
|
|
81
|
-
this.startLineNumber = startLineNumber;
|
|
82
|
-
this.startColumn = startColumn;
|
|
83
|
-
this.endLineNumber = endLineNumber;
|
|
84
|
-
this.endColumn = endColumn;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
class OneLineRange extends SearchRange {
|
|
88
|
-
constructor(lineNumber, startColumn, endColumn) {
|
|
89
|
-
super(lineNumber, startColumn, lineNumber, endColumn);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
11
|
function getExcludes(configuration, includeSearchExcludes = true) {
|
|
93
12
|
const fileExcludes = configuration && configuration.files && configuration.files.exclude;
|
|
94
13
|
const searchExcludes = includeSearchExcludes && configuration && configuration.search && configuration.search.exclude;
|
|
@@ -127,33 +46,4 @@ function pathIncludedInQuery(queryProps, fsPath) {
|
|
|
127
46
|
}
|
|
128
47
|
return true;
|
|
129
48
|
}
|
|
130
|
-
|
|
131
|
-
( (function(SearchErrorCode) {
|
|
132
|
-
SearchErrorCode[SearchErrorCode["unknownEncoding"] = 1] = "unknownEncoding";
|
|
133
|
-
SearchErrorCode[SearchErrorCode["regexParseError"] = 2] = "regexParseError";
|
|
134
|
-
SearchErrorCode[SearchErrorCode["globParseError"] = 3] = "globParseError";
|
|
135
|
-
SearchErrorCode[SearchErrorCode["invalidLiteral"] = 4] = "invalidLiteral";
|
|
136
|
-
SearchErrorCode[SearchErrorCode["rgProcessError"] = 5] = "rgProcessError";
|
|
137
|
-
SearchErrorCode[SearchErrorCode["other"] = 6] = "other";
|
|
138
|
-
SearchErrorCode[SearchErrorCode["canceled"] = 7] = "canceled";
|
|
139
|
-
})(SearchErrorCode || (SearchErrorCode = {})));
|
|
140
|
-
class SearchError extends Error {
|
|
141
|
-
constructor(message, code) {
|
|
142
|
-
super(message);
|
|
143
|
-
this.code = code;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
function deserializeSearchError(error) {
|
|
147
|
-
const errorMsg = error.message;
|
|
148
|
-
if (isCancellationError(error)) {
|
|
149
|
-
return ( new SearchError(errorMsg, SearchErrorCode.canceled));
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
const details = JSON.parse(errorMsg);
|
|
153
|
-
return ( new SearchError(details.message, details.code));
|
|
154
|
-
}
|
|
155
|
-
catch (e) {
|
|
156
|
-
return ( new SearchError(errorMsg, SearchErrorCode.other));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
export { FileMatch, ISearchService, OneLineRange, SearchError, SearchErrorCode, SearchRange, TextSearchMatch, deserializeSearchError, getExcludes, isFileMatch, isProgressMessage, pathIncludedInQuery, resultIsMatch };
|
|
49
|
+
export { ISearchService, SEARCH_EXCLUDE_CONFIG, getExcludes, pathIncludedInQuery, resultIsMatch };
|
package/dist/vscode/vs/workbench/services/semanticSimilarity/common/semanticSimilarityService.js
CHANGED
|
@@ -1,3 +1,56 @@
|
|
|
1
1
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
2
|
+
import { timeout, createCancelablePromise, raceCancellablePromises } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
2
3
|
const ISemanticSimilarityService = ( createDecorator('ISemanticSimilarityService'));
|
|
3
|
-
|
|
4
|
+
class SemanticSimilarityService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._providers = [];
|
|
7
|
+
}
|
|
8
|
+
isEnabled() {
|
|
9
|
+
return this._providers.length > 0;
|
|
10
|
+
}
|
|
11
|
+
registerSemanticSimilarityProvider(provider) {
|
|
12
|
+
this._providers.push(provider);
|
|
13
|
+
return {
|
|
14
|
+
dispose: () => {
|
|
15
|
+
const index = this._providers.indexOf(provider);
|
|
16
|
+
if (index >= 0) {
|
|
17
|
+
this._providers.splice(index, 1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async getSimilarityScore(string1, comparisons, token) {
|
|
23
|
+
if (this._providers.length === 0) {
|
|
24
|
+
throw new Error('No semantic similarity providers registered');
|
|
25
|
+
}
|
|
26
|
+
const cancellablePromises = [];
|
|
27
|
+
const timer = timeout(SemanticSimilarityService.DEFAULT_TIMEOUT);
|
|
28
|
+
const disposable = token.onCancellationRequested(() => {
|
|
29
|
+
disposable.dispose();
|
|
30
|
+
timer.cancel();
|
|
31
|
+
});
|
|
32
|
+
for (const provider of this._providers) {
|
|
33
|
+
cancellablePromises.push(createCancelablePromise(async (t) => {
|
|
34
|
+
try {
|
|
35
|
+
return await provider.provideSimilarityScore(string1, comparisons, t);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
}
|
|
39
|
+
await timer;
|
|
40
|
+
throw new Error('Semantic similarity provider timed out');
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
cancellablePromises.push(createCancelablePromise(async (t) => {
|
|
44
|
+
const disposable = t.onCancellationRequested(() => {
|
|
45
|
+
timer.cancel();
|
|
46
|
+
disposable.dispose();
|
|
47
|
+
});
|
|
48
|
+
await timer;
|
|
49
|
+
throw new Error('Semantic similarity provider timed out');
|
|
50
|
+
}));
|
|
51
|
+
const result = await raceCancellablePromises(cancellablePromises);
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
SemanticSimilarityService.DEFAULT_TIMEOUT = 1000 * 10;
|
|
56
|
+
export { ISemanticSimilarityService, SemanticSimilarityService };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
2
|
+
const IStatusbarService = ( createDecorator('statusbarService'));
|
|
3
|
+
function isStatusbarEntryLocation(thing) {
|
|
4
|
+
const candidate = thing;
|
|
5
|
+
return typeof candidate?.id === 'string' && typeof candidate.alignment === 'number';
|
|
6
|
+
}
|
|
7
|
+
function isStatusbarEntryPriority(thing) {
|
|
8
|
+
const candidate = thing;
|
|
9
|
+
return (typeof candidate?.primary === 'number' || isStatusbarEntryLocation(candidate?.primary)) && typeof candidate?.secondary === 'number';
|
|
10
|
+
}
|
|
11
|
+
const ShowTooltipCommand = {
|
|
12
|
+
id: 'statusBar.entry.showTooltip',
|
|
13
|
+
title: ''
|
|
14
|
+
};
|
|
15
|
+
export { IStatusbarService, ShowTooltipCommand, isStatusbarEntryLocation, isStatusbarEntryPriority };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
2
|
+
import { TMGrammarFactory } from '../../common/TMGrammarFactory.js';
|
|
3
|
+
import { TextMateWorkerModel } from './textMateWorkerModel.js';
|
|
4
|
+
class TextMateTokenizationWorker {
|
|
5
|
+
constructor(ctx, createData) {
|
|
6
|
+
this.createData = createData;
|
|
7
|
+
this._models = Object.create(null);
|
|
8
|
+
this._grammarCache = [];
|
|
9
|
+
this._host = ctx.host;
|
|
10
|
+
const grammarDefinitions = ( createData.grammarDefinitions.map((def) => {
|
|
11
|
+
return {
|
|
12
|
+
location: URI.revive(def.location),
|
|
13
|
+
language: def.language,
|
|
14
|
+
scopeName: def.scopeName,
|
|
15
|
+
embeddedLanguages: def.embeddedLanguages,
|
|
16
|
+
tokenTypes: def.tokenTypes,
|
|
17
|
+
injectTo: def.injectTo,
|
|
18
|
+
balancedBracketSelectors: def.balancedBracketSelectors,
|
|
19
|
+
unbalancedBracketSelectors: def.unbalancedBracketSelectors,
|
|
20
|
+
};
|
|
21
|
+
}));
|
|
22
|
+
this._grammarFactory = this._loadTMGrammarFactory(grammarDefinitions);
|
|
23
|
+
}
|
|
24
|
+
async _loadTMGrammarFactory(grammarDefinitions) {
|
|
25
|
+
const vscodeTextmate = await import('vscode-textmate').then(module => module.default ?? module);
|
|
26
|
+
const vscodeOniguruma = await import('vscode-oniguruma').then(module => module.default ?? module);
|
|
27
|
+
const response = await fetch(this.createData.onigurumaWASMUri);
|
|
28
|
+
const bytes = await response.arrayBuffer();
|
|
29
|
+
await vscodeOniguruma.loadWASM(bytes);
|
|
30
|
+
const onigLib = Promise.resolve({
|
|
31
|
+
createOnigScanner: (sources) => vscodeOniguruma.createOnigScanner(sources),
|
|
32
|
+
createOnigString: (str) => vscodeOniguruma.createOnigString(str)
|
|
33
|
+
});
|
|
34
|
+
return ( new TMGrammarFactory({
|
|
35
|
+
logTrace: (msg) => { },
|
|
36
|
+
logError: (msg, err) => console.error(msg, err),
|
|
37
|
+
readFile: (resource) => this._host.readFile(resource)
|
|
38
|
+
}, grammarDefinitions, vscodeTextmate, onigLib));
|
|
39
|
+
}
|
|
40
|
+
acceptNewModel(data) {
|
|
41
|
+
const uri = URI.revive(data.uri);
|
|
42
|
+
const key = ( uri.toString());
|
|
43
|
+
this._models[key] = ( new TextMateWorkerModel(
|
|
44
|
+
uri,
|
|
45
|
+
data.lines,
|
|
46
|
+
data.EOL,
|
|
47
|
+
data.versionId,
|
|
48
|
+
this,
|
|
49
|
+
data.languageId,
|
|
50
|
+
data.encodedLanguageId,
|
|
51
|
+
data.maxTokenizationLineLength
|
|
52
|
+
));
|
|
53
|
+
}
|
|
54
|
+
acceptModelChanged(strURL, e) {
|
|
55
|
+
this._models[strURL].onEvents(e);
|
|
56
|
+
}
|
|
57
|
+
retokenize(strURL, startLineNumber, endLineNumberExclusive) {
|
|
58
|
+
this._models[strURL].retokenize(startLineNumber, endLineNumberExclusive);
|
|
59
|
+
}
|
|
60
|
+
acceptModelLanguageChanged(strURL, newLanguageId, newEncodedLanguageId) {
|
|
61
|
+
this._models[strURL].onLanguageId(newLanguageId, newEncodedLanguageId);
|
|
62
|
+
}
|
|
63
|
+
acceptRemovedModel(strURL) {
|
|
64
|
+
if (this._models[strURL]) {
|
|
65
|
+
this._models[strURL].dispose();
|
|
66
|
+
delete this._models[strURL];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async acceptTheme(theme, colorMap) {
|
|
70
|
+
const grammarFactory = await this._grammarFactory;
|
|
71
|
+
grammarFactory?.setTheme(theme, colorMap);
|
|
72
|
+
}
|
|
73
|
+
acceptMaxTokenizationLineLength(strURL, value) {
|
|
74
|
+
this._models[strURL].acceptMaxTokenizationLineLength(value);
|
|
75
|
+
}
|
|
76
|
+
async getOrCreateGrammar(languageId, encodedLanguageId) {
|
|
77
|
+
const grammarFactory = await this._grammarFactory;
|
|
78
|
+
if (!grammarFactory) {
|
|
79
|
+
return Promise.resolve(null);
|
|
80
|
+
}
|
|
81
|
+
if (!this._grammarCache[encodedLanguageId]) {
|
|
82
|
+
this._grammarCache[encodedLanguageId] = grammarFactory.createGrammar(languageId, encodedLanguageId);
|
|
83
|
+
}
|
|
84
|
+
return this._grammarCache[encodedLanguageId];
|
|
85
|
+
}
|
|
86
|
+
setTokensAndStates(resource, versionId, tokens, stateDeltas) {
|
|
87
|
+
this._host.setTokensAndStates(resource, versionId, tokens, stateDeltas);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export { TextMateTokenizationWorker };
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { MirrorTextModel } from 'monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js';
|
|
2
|
+
import { TokenizerWithStateStore } from 'monaco-editor/esm/vs/editor/common/model/textModelTokens.js';
|
|
3
|
+
import { diffStateStacksRefEq } from 'vscode-textmate';
|
|
4
|
+
import { ContiguousMultilineTokensBuilder } from 'monaco-editor/esm/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js';
|
|
5
|
+
import { LineTokens } from 'monaco-editor/esm/vs/editor/common/tokens/lineTokens.js';
|
|
6
|
+
import { TextMateTokenizationSupport } from '../tokenizationSupport/textMateTokenizationSupport.js';
|
|
7
|
+
import { RunOnceScheduler } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
8
|
+
import { observableValue } from 'monaco-editor/esm/vs/base/common/observable.js';
|
|
9
|
+
import { TokenizationSupportWithLineLimit } from '../tokenizationSupport/tokenizationSupportWithLineLimit.js';
|
|
10
|
+
import { LineRange } from 'monaco-editor/esm/vs/editor/common/core/lineRange.js';
|
|
11
|
+
class TextMateWorkerModel extends MirrorTextModel {
|
|
12
|
+
constructor(uri, lines, eol, versionId, _worker, _languageId, _encodedLanguageId, maxTokenizationLineLength) {
|
|
13
|
+
super(uri, lines, eol, versionId);
|
|
14
|
+
this._worker = _worker;
|
|
15
|
+
this._languageId = _languageId;
|
|
16
|
+
this._encodedLanguageId = _encodedLanguageId;
|
|
17
|
+
this._tokenizationStateStore = null;
|
|
18
|
+
this._isDisposed = false;
|
|
19
|
+
this._maxTokenizationLineLength = observableValue('_maxTokenizationLineLength', -1);
|
|
20
|
+
this.tokenizeDebouncer = ( new RunOnceScheduler(() => this._tokenize(), 10));
|
|
21
|
+
this._maxTokenizationLineLength.set(maxTokenizationLineLength, undefined);
|
|
22
|
+
this._resetTokenization();
|
|
23
|
+
}
|
|
24
|
+
dispose() {
|
|
25
|
+
this._isDisposed = true;
|
|
26
|
+
super.dispose();
|
|
27
|
+
}
|
|
28
|
+
onLanguageId(languageId, encodedLanguageId) {
|
|
29
|
+
this._languageId = languageId;
|
|
30
|
+
this._encodedLanguageId = encodedLanguageId;
|
|
31
|
+
this._resetTokenization();
|
|
32
|
+
}
|
|
33
|
+
onEvents(e) {
|
|
34
|
+
super.onEvents(e);
|
|
35
|
+
if (this._tokenizationStateStore) {
|
|
36
|
+
this._tokenizationStateStore.store.acceptChanges(e.changes);
|
|
37
|
+
}
|
|
38
|
+
this.tokenizeDebouncer.schedule();
|
|
39
|
+
}
|
|
40
|
+
acceptMaxTokenizationLineLength(maxTokenizationLineLength) {
|
|
41
|
+
this._maxTokenizationLineLength.set(maxTokenizationLineLength, undefined);
|
|
42
|
+
}
|
|
43
|
+
retokenize(startLineNumber, endLineNumberExclusive) {
|
|
44
|
+
if (this._tokenizationStateStore) {
|
|
45
|
+
this._tokenizationStateStore.store.invalidateEndStateRange(( new LineRange(startLineNumber, endLineNumberExclusive)));
|
|
46
|
+
this.tokenizeDebouncer.schedule();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
_resetTokenization() {
|
|
50
|
+
this._tokenizationStateStore = null;
|
|
51
|
+
const languageId = this._languageId;
|
|
52
|
+
const encodedLanguageId = this._encodedLanguageId;
|
|
53
|
+
this._worker.getOrCreateGrammar(languageId, encodedLanguageId).then((r) => {
|
|
54
|
+
if (this._isDisposed ||
|
|
55
|
+
languageId !== this._languageId ||
|
|
56
|
+
encodedLanguageId !== this._encodedLanguageId ||
|
|
57
|
+
!r) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (r.grammar) {
|
|
61
|
+
const tokenizationSupport = ( new TokenizationSupportWithLineLimit(this._encodedLanguageId, ( new TextMateTokenizationSupport(r.grammar, r.initialState, false)), this._maxTokenizationLineLength));
|
|
62
|
+
this._tokenizationStateStore = ( new TokenizerWithStateStore(this._lines.length, tokenizationSupport));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this._tokenizationStateStore = null;
|
|
66
|
+
}
|
|
67
|
+
this._tokenize();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
_tokenize() {
|
|
71
|
+
if (this._isDisposed || !this._tokenizationStateStore) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const startTime = ( new Date()).getTime();
|
|
75
|
+
while (true) {
|
|
76
|
+
let tokenizedLines = 0;
|
|
77
|
+
const tokenBuilder = ( new ContiguousMultilineTokensBuilder());
|
|
78
|
+
const stateDeltaBuilder = ( new StateDeltaBuilder());
|
|
79
|
+
while (true) {
|
|
80
|
+
const lineNumberToTokenize = this._tokenizationStateStore.store.getFirstInvalidEndStateLineNumber();
|
|
81
|
+
if (lineNumberToTokenize === null || tokenizedLines > 200) {
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
tokenizedLines++;
|
|
85
|
+
const text = this._lines[lineNumberToTokenize - 1];
|
|
86
|
+
const lineStartState = this._tokenizationStateStore.getStartState(lineNumberToTokenize);
|
|
87
|
+
const r = this._tokenizationStateStore.tokenizationSupport.tokenizeEncoded(text, true, lineStartState);
|
|
88
|
+
if (this._tokenizationStateStore.store.setEndState(lineNumberToTokenize, r.endState)) {
|
|
89
|
+
const delta = diffStateStacksRefEq(lineStartState, r.endState);
|
|
90
|
+
stateDeltaBuilder.setState(lineNumberToTokenize, delta);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
stateDeltaBuilder.setState(lineNumberToTokenize, null);
|
|
94
|
+
}
|
|
95
|
+
LineTokens.convertToEndOffset(r.tokens, text.length);
|
|
96
|
+
tokenBuilder.add(lineNumberToTokenize, r.tokens);
|
|
97
|
+
const deltaMs = ( new Date()).getTime() - startTime;
|
|
98
|
+
if (deltaMs > 20) {
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (tokenizedLines === 0) {
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
const stateDeltas = stateDeltaBuilder.getStateDeltas();
|
|
106
|
+
this._worker.setTokensAndStates(this._uri, this._versionId, tokenBuilder.serialize(), stateDeltas);
|
|
107
|
+
const deltaMs = ( new Date()).getTime() - startTime;
|
|
108
|
+
if (deltaMs > 20) {
|
|
109
|
+
setTimeout(() => this._tokenize(), 3);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
class StateDeltaBuilder {
|
|
116
|
+
constructor() {
|
|
117
|
+
this._lastStartLineNumber = -1;
|
|
118
|
+
this._stateDeltas = [];
|
|
119
|
+
}
|
|
120
|
+
setState(lineNumber, stackDiff) {
|
|
121
|
+
if (lineNumber === this._lastStartLineNumber + 1) {
|
|
122
|
+
this._stateDeltas[this._stateDeltas.length - 1].stateDeltas.push(stackDiff);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this._stateDeltas.push({ startLineNumber: lineNumber, stateDeltas: [stackDiff] });
|
|
126
|
+
}
|
|
127
|
+
this._lastStartLineNumber = lineNumber;
|
|
128
|
+
}
|
|
129
|
+
getStateDeltas() {
|
|
130
|
+
return this._stateDeltas;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export { TextMateWorkerModel };
|