@codingame/monaco-vscode-api 15.0.0 → 15.0.2
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/missing-services.js +53 -4
- package/package.json +8 -8
- package/services.js +5 -5
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +1 -1
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +2 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +125 -0
- package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +2 -3
- package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +2 -3
- package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -3
- package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +2 -3
- package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.d.ts +15 -0
- package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +93 -0
- package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +2 -3
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.d.ts +7 -0
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +4 -4
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.d.ts +45 -0
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +215 -0
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.service.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.d.ts +26 -0
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +178 -0
- package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
- package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +1 -2
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +20 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/indicatorView.js +3 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +18 -18
- package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.d.ts +6 -0
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +21 -22
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
- package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.d.ts +67 -0
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +232 -0
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +16 -16
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +12 -8
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +54 -54
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +255 -13
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +26 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +230 -0
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
- package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
- package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/vscode/src/vs/platform/list/browser/listService.js +27 -27
- package/vscode/src/vs/platform/log/common/log.js +6 -6
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -6
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/request/common/request.js +18 -18
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +45 -45
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +22 -23
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
- package/vscode/src/vs/workbench/common/configuration.js +10 -10
- package/vscode/src/vs/workbench/common/contextkeys.js +70 -70
- package/vscode/src/vs/workbench/common/editor/editorOptions.d.ts +3 -0
- package/vscode/src/vs/workbench/common/editor/editorOptions.js +52 -0
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.js +160 -160
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +141 -141
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.d.ts +13 -0
- package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +87 -0
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +83 -83
- package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -12
|
@@ -21,21 +21,21 @@ import { StandardTokenType } from '../../../common/encodedTokenAttributes.js';
|
|
|
21
21
|
|
|
22
22
|
const Context = {
|
|
23
23
|
Visible: historyNavigationVisible,
|
|
24
|
-
HasFocusedSuggestion: ( new RawContextKey('suggestWidgetHasFocusedSuggestion', false, ( localize(
|
|
25
|
-
DetailsVisible: ( new RawContextKey('suggestWidgetDetailsVisible', false, ( localize(
|
|
26
|
-
MultipleSuggestions: ( new RawContextKey('suggestWidgetMultipleSuggestions', false, ( localize(
|
|
24
|
+
HasFocusedSuggestion: ( new RawContextKey('suggestWidgetHasFocusedSuggestion', false, ( localize(1475, "Whether any suggestion is focused")))),
|
|
25
|
+
DetailsVisible: ( new RawContextKey('suggestWidgetDetailsVisible', false, ( localize(1476, "Whether suggestion details are visible")))),
|
|
26
|
+
MultipleSuggestions: ( new RawContextKey('suggestWidgetMultipleSuggestions', false, ( localize(1477, "Whether there are multiple suggestions to pick from")))),
|
|
27
27
|
MakesTextEdit: ( new RawContextKey('suggestionMakesTextEdit', true, ( localize(
|
|
28
|
-
|
|
28
|
+
1478,
|
|
29
29
|
"Whether inserting the current suggestion yields in a change or has everything already been typed"
|
|
30
30
|
)))),
|
|
31
|
-
AcceptSuggestionsOnEnter: ( new RawContextKey('acceptSuggestionOnEnter', true, ( localize(
|
|
32
|
-
HasInsertAndReplaceRange: ( new RawContextKey('suggestionHasInsertAndReplaceRange', false, ( localize(
|
|
31
|
+
AcceptSuggestionsOnEnter: ( new RawContextKey('acceptSuggestionOnEnter', true, ( localize(1479, "Whether suggestions are inserted when pressing Enter")))),
|
|
32
|
+
HasInsertAndReplaceRange: ( new RawContextKey('suggestionHasInsertAndReplaceRange', false, ( localize(1480, "Whether the current suggestion has insert and replace behaviour")))),
|
|
33
33
|
InsertMode: ( new RawContextKey(
|
|
34
34
|
'suggestionInsertMode',
|
|
35
35
|
undefined,
|
|
36
|
-
{ type: 'string', description: ( localize(
|
|
36
|
+
{ type: 'string', description: ( localize(1481, "Whether the default behaviour is to insert or replace")) }
|
|
37
37
|
)),
|
|
38
|
-
CanResolve: ( new RawContextKey('suggestionCanResolve', false, ( localize(
|
|
38
|
+
CanResolve: ( new RawContextKey('suggestionCanResolve', false, ( localize(1482, "Whether the current suggestion supports to resolve further details")))),
|
|
39
39
|
};
|
|
40
40
|
const suggestWidgetStatusbarMenu = ( new MenuId('suggestWidgetStatusBar'));
|
|
41
41
|
class CompletionItem {
|
|
@@ -449,7 +449,7 @@ let SuggestController = class SuggestController {
|
|
|
449
449
|
_alertCompletionItem(item) {
|
|
450
450
|
if (isNonEmptyArray(item.completion.additionalTextEdits)) {
|
|
451
451
|
const msg = ( localize(
|
|
452
|
-
|
|
452
|
+
1483,
|
|
453
453
|
"Accepting '{0}' made {1} additional edits",
|
|
454
454
|
item.textLabel,
|
|
455
455
|
item.completion.additionalTextEdits.length
|
|
@@ -626,7 +626,7 @@ class TriggerSuggestAction extends EditorAction {
|
|
|
626
626
|
constructor() {
|
|
627
627
|
super({
|
|
628
628
|
id: TriggerSuggestAction.id,
|
|
629
|
-
label: ( localize2(
|
|
629
|
+
label: ( localize2(1484, "Trigger Suggest")),
|
|
630
630
|
precondition: ( ContextKeyExpr.and(
|
|
631
631
|
EditorContextKeys.writable,
|
|
632
632
|
EditorContextKeys.hasCompletionItemProvider,
|
|
@@ -681,19 +681,19 @@ registerEditorCommand(( new SuggestCommand({
|
|
|
681
681
|
}],
|
|
682
682
|
menuOpts: [{
|
|
683
683
|
menuId: suggestWidgetStatusbarMenu,
|
|
684
|
-
title: ( localize(
|
|
684
|
+
title: ( localize(1485, "Insert")),
|
|
685
685
|
group: 'left',
|
|
686
686
|
order: 1,
|
|
687
687
|
when: ( Context.HasInsertAndReplaceRange.toNegated())
|
|
688
688
|
}, {
|
|
689
689
|
menuId: suggestWidgetStatusbarMenu,
|
|
690
|
-
title: ( localize(
|
|
690
|
+
title: ( localize(1485, "Insert")),
|
|
691
691
|
group: 'left',
|
|
692
692
|
order: 1,
|
|
693
693
|
when: ( ContextKeyExpr.and(Context.HasInsertAndReplaceRange, ( Context.InsertMode.isEqualTo('insert'))))
|
|
694
694
|
}, {
|
|
695
695
|
menuId: suggestWidgetStatusbarMenu,
|
|
696
|
-
title: ( localize(
|
|
696
|
+
title: ( localize(1486, "Replace")),
|
|
697
697
|
group: 'left',
|
|
698
698
|
order: 1,
|
|
699
699
|
when: ( ContextKeyExpr.and(Context.HasInsertAndReplaceRange, ( Context.InsertMode.isEqualTo('replace'))))
|
|
@@ -720,13 +720,13 @@ registerEditorCommand(( new SuggestCommand({
|
|
|
720
720
|
group: 'left',
|
|
721
721
|
order: 2,
|
|
722
722
|
when: ( ContextKeyExpr.and(Context.HasInsertAndReplaceRange, ( Context.InsertMode.isEqualTo('insert')))),
|
|
723
|
-
title: ( localize(
|
|
723
|
+
title: ( localize(1486, "Replace"))
|
|
724
724
|
}, {
|
|
725
725
|
menuId: suggestWidgetStatusbarMenu,
|
|
726
726
|
group: 'left',
|
|
727
727
|
order: 2,
|
|
728
728
|
when: ( ContextKeyExpr.and(Context.HasInsertAndReplaceRange, ( Context.InsertMode.isEqualTo('replace')))),
|
|
729
|
-
title: ( localize(
|
|
729
|
+
title: ( localize(1485, "Insert"))
|
|
730
730
|
}]
|
|
731
731
|
})));
|
|
732
732
|
CommandsRegistry.registerCommandAlias('acceptSelectedSuggestionOnEnter', 'acceptSelectedSuggestion');
|
|
@@ -833,13 +833,13 @@ registerEditorCommand(( new SuggestCommand({
|
|
|
833
833
|
group: 'right',
|
|
834
834
|
order: 1,
|
|
835
835
|
when: ( ContextKeyExpr.and(Context.DetailsVisible, Context.CanResolve)),
|
|
836
|
-
title: ( localize(
|
|
836
|
+
title: ( localize(1487, "Show Less"))
|
|
837
837
|
}, {
|
|
838
838
|
menuId: suggestWidgetStatusbarMenu,
|
|
839
839
|
group: 'right',
|
|
840
840
|
order: 1,
|
|
841
841
|
when: ( ContextKeyExpr.and(( Context.DetailsVisible.toNegated()), Context.CanResolve)),
|
|
842
|
-
title: ( localize(
|
|
842
|
+
title: ( localize(1488, "Show More"))
|
|
843
843
|
}]
|
|
844
844
|
})));
|
|
845
845
|
registerEditorCommand(( new SuggestCommand({
|
|
@@ -897,7 +897,7 @@ registerEditorAction(class extends EditorAction {
|
|
|
897
897
|
constructor() {
|
|
898
898
|
super({
|
|
899
899
|
id: 'editor.action.resetSuggestSize',
|
|
900
|
-
label: ( localize2(
|
|
900
|
+
label: ( localize2(1489, "Reset Suggest Widget Size")),
|
|
901
901
|
precondition: undefined
|
|
902
902
|
});
|
|
903
903
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { IPosition } from "../../../common/core/position.js";
|
|
2
|
+
import { ITextModel } from "../../../common/model.js";
|
|
3
|
+
import { CompletionItemKind } from "../../../common/languages.js";
|
|
4
|
+
import { CompletionItem } from "./suggest.js";
|
|
5
|
+
import { IConfigurationService } from "../../../../platform/configuration/common/configuration.service.js";
|
|
6
|
+
import { IStorageService } from "../../../../platform/storage/common/storage.service.js";
|
|
7
|
+
import { ISuggestMemoryService } from "./suggestMemory.service.js";
|
|
8
|
+
export declare abstract class Memory {
|
|
9
|
+
readonly name: MemMode;
|
|
10
|
+
constructor(name: MemMode);
|
|
11
|
+
select(model: ITextModel, pos: IPosition, items: CompletionItem[]): number;
|
|
12
|
+
abstract memorize(model: ITextModel, pos: IPosition, item: CompletionItem): void;
|
|
13
|
+
abstract toJSON(): object | undefined;
|
|
14
|
+
abstract fromJSON(data: object): void;
|
|
15
|
+
}
|
|
16
|
+
export declare class NoMemory extends Memory {
|
|
17
|
+
constructor();
|
|
18
|
+
memorize(model: ITextModel, pos: IPosition, item: CompletionItem): void;
|
|
19
|
+
toJSON(): undefined;
|
|
20
|
+
fromJSON(): void;
|
|
21
|
+
}
|
|
22
|
+
export interface MemItem {
|
|
23
|
+
type: string | CompletionItemKind;
|
|
24
|
+
insertText: string;
|
|
25
|
+
touch: number;
|
|
26
|
+
}
|
|
27
|
+
export declare class LRUMemory extends Memory {
|
|
28
|
+
constructor();
|
|
29
|
+
private _cache;
|
|
30
|
+
private _seq;
|
|
31
|
+
memorize(model: ITextModel, pos: IPosition, item: CompletionItem): void;
|
|
32
|
+
select(model: ITextModel, pos: IPosition, items: CompletionItem[]): number;
|
|
33
|
+
toJSON(): object;
|
|
34
|
+
fromJSON(data: [
|
|
35
|
+
string,
|
|
36
|
+
MemItem
|
|
37
|
+
][]): void;
|
|
38
|
+
}
|
|
39
|
+
export declare class PrefixMemory extends Memory {
|
|
40
|
+
constructor();
|
|
41
|
+
private _trie;
|
|
42
|
+
private _seq;
|
|
43
|
+
memorize(model: ITextModel, pos: IPosition, item: CompletionItem): void;
|
|
44
|
+
select(model: ITextModel, pos: IPosition, items: CompletionItem[]): number;
|
|
45
|
+
toJSON(): object;
|
|
46
|
+
fromJSON(data: [
|
|
47
|
+
string,
|
|
48
|
+
MemItem
|
|
49
|
+
][]): void;
|
|
50
|
+
}
|
|
51
|
+
export type MemMode = "first" | "recentlyUsed" | "recentlyUsedByPrefix";
|
|
52
|
+
export declare class SuggestMemoryService implements ISuggestMemoryService {
|
|
53
|
+
private readonly _storageService;
|
|
54
|
+
private readonly _configService;
|
|
55
|
+
private static readonly _strategyCtors;
|
|
56
|
+
private static readonly _storagePrefix;
|
|
57
|
+
readonly _serviceBrand: undefined;
|
|
58
|
+
private readonly _persistSoon;
|
|
59
|
+
private readonly _disposables;
|
|
60
|
+
private _strategy?;
|
|
61
|
+
constructor(_storageService: IStorageService, _configService: IConfigurationService);
|
|
62
|
+
dispose(): void;
|
|
63
|
+
memorize(model: ITextModel, pos: IPosition, item: CompletionItem): void;
|
|
64
|
+
select(model: ITextModel, pos: IPosition, items: CompletionItem[]): number;
|
|
65
|
+
private _withStrategy;
|
|
66
|
+
private _saveState;
|
|
67
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
3
|
+
import { RunOnceScheduler } from '../../../../base/common/async.js';
|
|
4
|
+
import { DisposableStore } from '../../../../base/common/lifecycle.js';
|
|
5
|
+
import { LRUCache } from '../../../../base/common/map.js';
|
|
6
|
+
import { TernarySearchTree } from '../../../../base/common/ternarySearchTree.js';
|
|
7
|
+
import { CompletionItemKinds } from '../../../common/languages.js';
|
|
8
|
+
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
|
|
9
|
+
import '../../../../platform/instantiation/common/extensions.js';
|
|
10
|
+
import { WillSaveStateReason, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';
|
|
11
|
+
import { IStorageService } from '../../../../platform/storage/common/storage.service.js';
|
|
12
|
+
import '../../../../platform/instantiation/common/instantiation.js';
|
|
13
|
+
|
|
14
|
+
var SuggestMemoryService_1;
|
|
15
|
+
class Memory {
|
|
16
|
+
constructor(name) {
|
|
17
|
+
this.name = name;
|
|
18
|
+
}
|
|
19
|
+
select(model, pos, items) {
|
|
20
|
+
if (items.length === 0) {
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
const topScore = items[0].score[0];
|
|
24
|
+
for (let i = 0; i < items.length; i++) {
|
|
25
|
+
const { score, completion: suggestion } = items[i];
|
|
26
|
+
if (score[0] !== topScore) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
if (suggestion.preselect) {
|
|
30
|
+
return i;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
class NoMemory extends Memory {
|
|
37
|
+
constructor() {
|
|
38
|
+
super('first');
|
|
39
|
+
}
|
|
40
|
+
memorize(model, pos, item) {
|
|
41
|
+
}
|
|
42
|
+
toJSON() {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
fromJSON() {
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
class LRUMemory extends Memory {
|
|
49
|
+
constructor() {
|
|
50
|
+
super('recentlyUsed');
|
|
51
|
+
this._cache = ( new LRUCache(300, 0.66));
|
|
52
|
+
this._seq = 0;
|
|
53
|
+
}
|
|
54
|
+
memorize(model, pos, item) {
|
|
55
|
+
const key = `${model.getLanguageId()}/${item.textLabel}`;
|
|
56
|
+
this._cache.set(key, {
|
|
57
|
+
touch: this._seq++,
|
|
58
|
+
type: item.completion.kind,
|
|
59
|
+
insertText: item.completion.insertText
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
select(model, pos, items) {
|
|
63
|
+
if (items.length === 0) {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
const lineSuffix = model.getLineContent(pos.lineNumber).substr(pos.column - 10, pos.column - 1);
|
|
67
|
+
if (/\s$/.test(lineSuffix)) {
|
|
68
|
+
return super.select(model, pos, items);
|
|
69
|
+
}
|
|
70
|
+
const topScore = items[0].score[0];
|
|
71
|
+
let indexPreselect = -1;
|
|
72
|
+
let indexRecency = -1;
|
|
73
|
+
let seq = -1;
|
|
74
|
+
for (let i = 0; i < items.length; i++) {
|
|
75
|
+
if (items[i].score[0] !== topScore) {
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
const key = `${model.getLanguageId()}/${items[i].textLabel}`;
|
|
79
|
+
const item = this._cache.peek(key);
|
|
80
|
+
if (item && item.touch > seq && item.type === items[i].completion.kind && item.insertText === items[i].completion.insertText) {
|
|
81
|
+
seq = item.touch;
|
|
82
|
+
indexRecency = i;
|
|
83
|
+
}
|
|
84
|
+
if (items[i].completion.preselect && indexPreselect === -1) {
|
|
85
|
+
return indexPreselect = i;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (indexRecency !== -1) {
|
|
89
|
+
return indexRecency;
|
|
90
|
+
}
|
|
91
|
+
else if (indexPreselect !== -1) {
|
|
92
|
+
return indexPreselect;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return 0;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
toJSON() {
|
|
99
|
+
return this._cache.toJSON();
|
|
100
|
+
}
|
|
101
|
+
fromJSON(data) {
|
|
102
|
+
this._cache.clear();
|
|
103
|
+
const seq = 0;
|
|
104
|
+
for (const [key, value] of data) {
|
|
105
|
+
value.touch = seq;
|
|
106
|
+
value.type = typeof value.type === 'number' ? value.type : CompletionItemKinds.fromString(value.type);
|
|
107
|
+
this._cache.set(key, value);
|
|
108
|
+
}
|
|
109
|
+
this._seq = this._cache.size;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
class PrefixMemory extends Memory {
|
|
113
|
+
constructor() {
|
|
114
|
+
super('recentlyUsedByPrefix');
|
|
115
|
+
this._trie = TernarySearchTree.forStrings();
|
|
116
|
+
this._seq = 0;
|
|
117
|
+
}
|
|
118
|
+
memorize(model, pos, item) {
|
|
119
|
+
const { word } = model.getWordUntilPosition(pos);
|
|
120
|
+
const key = `${model.getLanguageId()}/${word}`;
|
|
121
|
+
this._trie.set(key, {
|
|
122
|
+
type: item.completion.kind,
|
|
123
|
+
insertText: item.completion.insertText,
|
|
124
|
+
touch: this._seq++
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
select(model, pos, items) {
|
|
128
|
+
const { word } = model.getWordUntilPosition(pos);
|
|
129
|
+
if (!word) {
|
|
130
|
+
return super.select(model, pos, items);
|
|
131
|
+
}
|
|
132
|
+
const key = `${model.getLanguageId()}/${word}`;
|
|
133
|
+
let item = this._trie.get(key);
|
|
134
|
+
if (!item) {
|
|
135
|
+
item = this._trie.findSubstr(key);
|
|
136
|
+
}
|
|
137
|
+
if (item) {
|
|
138
|
+
for (let i = 0; i < items.length; i++) {
|
|
139
|
+
const { kind, insertText } = items[i].completion;
|
|
140
|
+
if (kind === item.type && insertText === item.insertText) {
|
|
141
|
+
return i;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return super.select(model, pos, items);
|
|
146
|
+
}
|
|
147
|
+
toJSON() {
|
|
148
|
+
const entries = [];
|
|
149
|
+
this._trie.forEach((value, key) => entries.push([key, value]));
|
|
150
|
+
entries
|
|
151
|
+
.sort((a, b) => -(a[1].touch - b[1].touch))
|
|
152
|
+
.forEach((value, i) => value[1].touch = i);
|
|
153
|
+
return entries.slice(0, 200);
|
|
154
|
+
}
|
|
155
|
+
fromJSON(data) {
|
|
156
|
+
this._trie.clear();
|
|
157
|
+
if (data.length > 0) {
|
|
158
|
+
this._seq = data[0][1].touch + 1;
|
|
159
|
+
for (const [key, value] of data) {
|
|
160
|
+
value.type = typeof value.type === 'number' ? value.type : CompletionItemKinds.fromString(value.type);
|
|
161
|
+
this._trie.set(key, value);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
let SuggestMemoryService = class SuggestMemoryService {
|
|
167
|
+
static { SuggestMemoryService_1 = this; }
|
|
168
|
+
static { this._strategyCtors = ( new Map([
|
|
169
|
+
['recentlyUsedByPrefix', PrefixMemory],
|
|
170
|
+
['recentlyUsed', LRUMemory],
|
|
171
|
+
['first', NoMemory]
|
|
172
|
+
])); }
|
|
173
|
+
static { this._storagePrefix = 'suggest/memories'; }
|
|
174
|
+
constructor(_storageService, _configService) {
|
|
175
|
+
this._storageService = _storageService;
|
|
176
|
+
this._configService = _configService;
|
|
177
|
+
this._disposables = ( new DisposableStore());
|
|
178
|
+
this._persistSoon = ( new RunOnceScheduler(() => this._saveState(), 500));
|
|
179
|
+
this._disposables.add(_storageService.onWillSaveState(e => {
|
|
180
|
+
if (e.reason === WillSaveStateReason.SHUTDOWN) {
|
|
181
|
+
this._saveState();
|
|
182
|
+
}
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
dispose() {
|
|
186
|
+
this._disposables.dispose();
|
|
187
|
+
this._persistSoon.dispose();
|
|
188
|
+
}
|
|
189
|
+
memorize(model, pos, item) {
|
|
190
|
+
this._withStrategy(model, pos).memorize(model, pos, item);
|
|
191
|
+
this._persistSoon.schedule();
|
|
192
|
+
}
|
|
193
|
+
select(model, pos, items) {
|
|
194
|
+
return this._withStrategy(model, pos).select(model, pos, items);
|
|
195
|
+
}
|
|
196
|
+
_withStrategy(model, pos) {
|
|
197
|
+
const mode = this._configService.getValue('editor.suggestSelection', {
|
|
198
|
+
overrideIdentifier: model.getLanguageIdAtPosition(pos.lineNumber, pos.column),
|
|
199
|
+
resource: model.uri
|
|
200
|
+
});
|
|
201
|
+
if (this._strategy?.name !== mode) {
|
|
202
|
+
this._saveState();
|
|
203
|
+
const ctor = SuggestMemoryService_1._strategyCtors.get(mode) || NoMemory;
|
|
204
|
+
this._strategy = ( new ctor());
|
|
205
|
+
try {
|
|
206
|
+
const share = this._configService.getValue('editor.suggest.shareSuggestSelections');
|
|
207
|
+
const scope = share ? StorageScope.PROFILE : StorageScope.WORKSPACE;
|
|
208
|
+
const raw = this._storageService.get(`${SuggestMemoryService_1._storagePrefix}/${mode}`, scope);
|
|
209
|
+
if (raw) {
|
|
210
|
+
this._strategy.fromJSON(JSON.parse(raw));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return this._strategy;
|
|
217
|
+
}
|
|
218
|
+
_saveState() {
|
|
219
|
+
if (this._strategy) {
|
|
220
|
+
const share = this._configService.getValue('editor.suggest.shareSuggestSelections');
|
|
221
|
+
const scope = share ? StorageScope.PROFILE : StorageScope.WORKSPACE;
|
|
222
|
+
const raw = JSON.stringify(this._strategy);
|
|
223
|
+
this._storageService.store(`${SuggestMemoryService_1._storagePrefix}/${this._strategy.name}`, raw, scope, StorageTarget.MACHINE);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
SuggestMemoryService = SuggestMemoryService_1 = ( __decorate([
|
|
228
|
+
( __param(0, IStorageService)),
|
|
229
|
+
( __param(1, IConfigurationService))
|
|
230
|
+
], SuggestMemoryService));
|
|
231
|
+
|
|
232
|
+
export { LRUMemory, Memory, NoMemory, PrefixMemory, SuggestMemoryService };
|
|
@@ -42,18 +42,18 @@ import { getListStyles } from '../../../../platform/theme/browser/defaultStyles.
|
|
|
42
42
|
import { status } from '../../../../base/browser/ui/aria/aria.js';
|
|
43
43
|
|
|
44
44
|
var SuggestWidget_1;
|
|
45
|
-
registerColor('editorSuggestWidget.background', editorWidgetBackground, ( localize(
|
|
46
|
-
registerColor('editorSuggestWidget.border', editorWidgetBorder, ( localize(
|
|
47
|
-
const editorSuggestWidgetForeground = registerColor('editorSuggestWidget.foreground', editorForeground, ( localize(
|
|
48
|
-
registerColor('editorSuggestWidget.selectedForeground', quickInputListFocusForeground, ( localize(
|
|
49
|
-
registerColor('editorSuggestWidget.selectedIconForeground', quickInputListFocusIconForeground, ( localize(
|
|
50
|
-
const editorSuggestWidgetSelectedBackground = registerColor('editorSuggestWidget.selectedBackground', quickInputListFocusBackground, ( localize(
|
|
51
|
-
registerColor('editorSuggestWidget.highlightForeground', listHighlightForeground, ( localize(
|
|
45
|
+
registerColor('editorSuggestWidget.background', editorWidgetBackground, ( localize(1490, 'Background color of the suggest widget.')));
|
|
46
|
+
registerColor('editorSuggestWidget.border', editorWidgetBorder, ( localize(1491, 'Border color of the suggest widget.')));
|
|
47
|
+
const editorSuggestWidgetForeground = registerColor('editorSuggestWidget.foreground', editorForeground, ( localize(1492, 'Foreground color of the suggest widget.')));
|
|
48
|
+
registerColor('editorSuggestWidget.selectedForeground', quickInputListFocusForeground, ( localize(1493, 'Foreground color of the selected entry in the suggest widget.')));
|
|
49
|
+
registerColor('editorSuggestWidget.selectedIconForeground', quickInputListFocusIconForeground, ( localize(1494, 'Icon foreground color of the selected entry in the suggest widget.')));
|
|
50
|
+
const editorSuggestWidgetSelectedBackground = registerColor('editorSuggestWidget.selectedBackground', quickInputListFocusBackground, ( localize(1495, 'Background color of the selected entry in the suggest widget.')));
|
|
51
|
+
registerColor('editorSuggestWidget.highlightForeground', listHighlightForeground, ( localize(1496, 'Color of the match highlights in the suggest widget.')));
|
|
52
52
|
registerColor('editorSuggestWidget.focusHighlightForeground', listFocusHighlightForeground, ( localize(
|
|
53
|
-
|
|
53
|
+
1497,
|
|
54
54
|
'Color of the match highlights in the suggest widget when an item is focused.'
|
|
55
55
|
)));
|
|
56
|
-
registerColor('editorSuggestWidgetStatus.foreground', ( transparent(editorSuggestWidgetForeground, .5)), ( localize(
|
|
56
|
+
registerColor('editorSuggestWidgetStatus.foreground', ( transparent(editorSuggestWidgetForeground, .5)), ( localize(1498, 'Foreground color of the suggest widget status.')));
|
|
57
57
|
var State;
|
|
58
58
|
(function (State) {
|
|
59
59
|
State[State["Hidden"] = 0] = "Hidden";
|
|
@@ -90,8 +90,8 @@ class PersistedWidgetSize {
|
|
|
90
90
|
}
|
|
91
91
|
let SuggestWidget = class SuggestWidget {
|
|
92
92
|
static { SuggestWidget_1 = this; }
|
|
93
|
-
static { this.LOADING_MESSAGE = ( localize(
|
|
94
|
-
static { this.NO_SUGGESTIONS_MESSAGE = ( localize(
|
|
93
|
+
static { this.LOADING_MESSAGE = ( localize(1499, "Loading...")); }
|
|
94
|
+
static { this.NO_SUGGESTIONS_MESSAGE = ( localize(1500, "No suggestions.")); }
|
|
95
95
|
constructor(editor, _storageService, _contextKeyService, _themeService, instantiationService) {
|
|
96
96
|
this.editor = editor;
|
|
97
97
|
this._storageService = _storageService;
|
|
@@ -175,20 +175,20 @@ let SuggestWidget = class SuggestWidget {
|
|
|
175
175
|
multipleSelectionSupport: false,
|
|
176
176
|
accessibilityProvider: {
|
|
177
177
|
getRole: () => 'option',
|
|
178
|
-
getWidgetAriaLabel: () => ( localize(
|
|
178
|
+
getWidgetAriaLabel: () => ( localize(1501, "Suggest")),
|
|
179
179
|
getWidgetRole: () => 'listbox',
|
|
180
180
|
getAriaLabel: (item) => {
|
|
181
181
|
let label = item.textLabel;
|
|
182
182
|
if (typeof item.completion.label !== 'string') {
|
|
183
183
|
const { detail, description } = item.completion.label;
|
|
184
184
|
if (detail && description) {
|
|
185
|
-
label = ( localize(
|
|
185
|
+
label = ( localize(1502, '{0} {1}, {2}', label, detail, description));
|
|
186
186
|
}
|
|
187
187
|
else if (detail) {
|
|
188
|
-
label = ( localize(
|
|
188
|
+
label = ( localize(1503, '{0} {1}', label, detail));
|
|
189
189
|
}
|
|
190
190
|
else if (description) {
|
|
191
|
-
label = ( localize(
|
|
191
|
+
label = ( localize(1504, '{0}, {1}', label, description));
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
if (!item.isResolved || !this._isDetailsVisible()) {
|
|
@@ -196,7 +196,7 @@ let SuggestWidget = class SuggestWidget {
|
|
|
196
196
|
}
|
|
197
197
|
const { documentation, detail } = item.completion;
|
|
198
198
|
const docs = format('{0}{1}', detail || '', documentation ? (typeof documentation === 'string' ? documentation : documentation.value) : '');
|
|
199
|
-
return localize(
|
|
199
|
+
return localize(1505, "{0}, docs: {1}", label, docs);
|
|
200
200
|
},
|
|
201
201
|
}
|
|
202
202
|
}));
|
|
@@ -38,7 +38,7 @@ let SuggestDetailsWidget = class SuggestDetailsWidget {
|
|
|
38
38
|
this._disposables.add(this._scrollbar);
|
|
39
39
|
this._header = append(this._body, $('.header'));
|
|
40
40
|
this._close = append(this._header, $('span' + ThemeIcon.asCSSSelector(Codicon.close)));
|
|
41
|
-
this._close.title = ( localize(
|
|
41
|
+
this._close.title = ( localize(1506, "Close"));
|
|
42
42
|
this._close.role = 'button';
|
|
43
43
|
this._close.tabIndex = -1;
|
|
44
44
|
this._type = append(this._header, $('p.type'));
|
|
@@ -84,7 +84,7 @@ let SuggestDetailsWidget = class SuggestDetailsWidget {
|
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
renderLoading() {
|
|
87
|
-
this._type.textContent = ( localize(
|
|
87
|
+
this._type.textContent = ( localize(1507, "Loading..."));
|
|
88
88
|
this._docs.textContent = '';
|
|
89
89
|
this.domNode.classList.remove('no-docs', 'no-type');
|
|
90
90
|
this.layout(this.size.width, this.getLayoutInfo().lineHeight * 2);
|
|
@@ -19,7 +19,7 @@ import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js'
|
|
|
19
19
|
import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
|
|
20
20
|
import { canExpandCompletionItem } from './suggestWidgetDetails.js';
|
|
21
21
|
|
|
22
|
-
const suggestMoreInfoIcon = registerIcon('suggest-more-info', Codicon.chevronRight, ( localize(
|
|
22
|
+
const suggestMoreInfoIcon = registerIcon('suggest-more-info', Codicon.chevronRight, ( localize(1508, 'Icon for more information in the suggest widget.')));
|
|
23
23
|
const _completionItemColor = new (class ColorExtractor {
|
|
24
24
|
static { this._regexRelaxed = /(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/; }
|
|
25
25
|
static { this._regexStrict = ( new RegExp(`^${ColorExtractor._regexRelaxed.source}$`, 'i')); }
|
|
@@ -75,7 +75,7 @@ let ItemRenderer = class ItemRenderer {
|
|
|
75
75
|
const qualifierLabel = append(left, $('span.qualifier-label'));
|
|
76
76
|
const detailsLabel = append(right, $('span.details-label'));
|
|
77
77
|
const readMore = append(right, $('span.readMore' + ThemeIcon.asCSSSelector(suggestMoreInfoIcon)));
|
|
78
|
-
readMore.title = ( localize(
|
|
78
|
+
readMore.title = ( localize(1509, "Read More"));
|
|
79
79
|
const configureFont = () => {
|
|
80
80
|
const options = this._editor.getOptions();
|
|
81
81
|
const fontInfo = options.get(EditorOption.fontInfo);
|
|
@@ -9,7 +9,7 @@ var WordContextKey_1;
|
|
|
9
9
|
let WordContextKey = class WordContextKey {
|
|
10
10
|
static { WordContextKey_1 = this; }
|
|
11
11
|
static { this.AtEnd = ( new RawContextKey('atEndOfWord', false, { type: 'boolean', description: ( localize(
|
|
12
|
-
|
|
12
|
+
1510,
|
|
13
13
|
"A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled"
|
|
14
14
|
)) })); }
|
|
15
15
|
constructor(_editor, contextKeyService) {
|