monaco-editor-core 0.56.0-dev-20251124 → 0.56.0-dev-20251125
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/esm/nls.keys.json +1 -1
- package/esm/nls.messages.cs.js +2 -2
- package/esm/nls.messages.de.js +2 -2
- package/esm/nls.messages.es.js +2 -2
- package/esm/nls.messages.fr.js +2 -2
- package/esm/nls.messages.it.js +2 -2
- package/esm/nls.messages.ja.js +2 -2
- package/esm/nls.messages.js +1 -1
- package/esm/nls.messages.json +1 -1
- package/esm/nls.messages.ko.js +2 -2
- package/esm/nls.messages.pl.js +2 -2
- package/esm/nls.messages.pt-br.js +2 -2
- package/esm/nls.messages.ru.js +2 -2
- package/esm/nls.messages.tr.js +2 -2
- package/esm/nls.messages.zh-cn.js +2 -2
- package/esm/nls.messages.zh-tw.js +2 -2
- package/esm/nls.metadata.json +6 -0
- package/esm/vs/base/common/async.js +11 -0
- package/esm/vs/base/common/async.js.map +1 -1
- package/esm/vs/editor/common/core/edits/textEdit.js +3 -0
- package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
- package/esm/vs/editor/common/languages.js.map +1 -1
- package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +5 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +10 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +10 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +18 -3
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +151 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/telemetry.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
- package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
- package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/esm/vs/editor/contrib/links/browser/links.js +10 -10
- package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
- package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
- package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
- package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/esm/vs/editor/contrib/rename/browser/rename.js +15 -11
- package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
- package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
- package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
- package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/esm/vs/editor/editor.api.d.ts +6 -2
- package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
- package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/esm/vs/platform/actions/browser/toolbar.js +2 -2
- package/esm/vs/platform/actions/common/actions.js +1 -0
- package/esm/vs/platform/actions/common/actions.js.map +1 -1
- package/esm/vs/platform/actions/common/menuService.js +2 -2
- package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
- package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
- package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/esm/vs/platform/contextkey/common/scanner.js +5 -5
- package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
- package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
- package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/esm/vs/platform/list/browser/listService.js +27 -27
- package/esm/vs/platform/markers/common/markerService.js +2 -2
- package/esm/vs/platform/markers/common/markers.js +6 -6
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
- package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
- package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
- package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/theme/common/colorUtils.js +2 -2
- package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
- package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
- package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
- package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
- package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/esm/vs/platform/workspace/common/workspace.js +1 -1
- package/monaco.d.ts +6 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/rename/browser/rename.ts"],"names":[],"mappings":"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","file":"rename.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { alert } from '../../../../base/browser/ui/aria/aria.js';\nimport { raceCancellation } from '../../../../base/common/async.js';\nimport { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';\nimport { CancellationError, onUnexpectedError } from '../../../../base/common/errors.js';\nimport { isMarkdownString } from '../../../../base/common/htmlContent.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport * as nls from '../../../../nls.js';\nimport { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { ConfigurationScope, Extensions, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js';\nimport { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { ILogService } from '../../../../platform/log/common/log.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IEditorProgressService } from '../../../../platform/progress/common/progress.js';\nimport { Registry } from '../../../../platform/registry/common/platform.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, ServicesAccessor, registerEditorAction, registerEditorCommand, registerEditorContribution, registerModelAndPositionCommand } from '../../../browser/editorExtensions.js';\nimport { IBulkEditService } from '../../../browser/services/bulkEditService.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { IPosition, Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { NewSymbolNameTriggerKind, Rejection, RenameLocation, RenameProvider, WorkspaceEdit } from '../../../common/languages.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ITextResourceConfigurationService } from '../../../common/services/textResourceConfiguration.js';\nimport { EditSources } from '../../../common/textModelEditSource.js';\nimport { CodeEditorStateFlag, EditorStateCancellationTokenSource } from '../../editorState/browser/editorState.js';\nimport { MessageController } from '../../message/browser/messageController.js';\nimport { CONTEXT_RENAME_INPUT_VISIBLE, RenameWidget } from './renameWidget.js';\n\nclass RenameSkeleton {\n\n\tprivate readonly _providers: RenameProvider[];\n\tprivate _providerRenameIdx: number = 0;\n\n\tconstructor(\n\t\tprivate readonly model: ITextModel,\n\t\tprivate readonly position: Position,\n\t\tregistry: LanguageFeatureRegistry<RenameProvider>\n\t) {\n\t\tthis._providers = registry.ordered(model);\n\t}\n\n\thasProvider() {\n\t\treturn this._providers.length > 0;\n\t}\n\n\tasync resolveRenameLocation(token: CancellationToken): Promise<RenameLocation & Rejection | undefined> {\n\n\t\tconst rejects: string[] = [];\n\n\t\tfor (this._providerRenameIdx = 0; this._providerRenameIdx < this._providers.length; this._providerRenameIdx++) {\n\t\t\tconst provider = this._providers[this._providerRenameIdx];\n\t\t\tif (!provider.resolveRenameLocation) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst res = await provider.resolveRenameLocation(this.model, this.position, token);\n\t\t\tif (!res) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (res.rejectReason) {\n\t\t\t\trejects.push(res.rejectReason);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\t// we are here when no provider prepared a location which means we can\n\t\t// just rely on the word under cursor and start with the first provider\n\t\tthis._providerRenameIdx = 0;\n\n\t\tconst word = this.model.getWordAtPosition(this.position);\n\t\tif (!word) {\n\t\t\treturn {\n\t\t\t\trange: Range.fromPositions(this.position),\n\t\t\t\ttext: '',\n\t\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\trange: new Range(this.position.lineNumber, word.startColumn, this.position.lineNumber, word.endColumn),\n\t\t\ttext: word.word,\n\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t};\n\t}\n\n\tasync provideRenameEdits(newName: string, token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\treturn this._provideRenameEdits(newName, this._providerRenameIdx, [], token);\n\t}\n\n\tprivate async _provideRenameEdits(newName: string, i: number, rejects: string[], token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\tconst provider = this._providers[i];\n\t\tif (!provider) {\n\t\t\treturn {\n\t\t\t\tedits: [],\n\t\t\t\trejectReason: rejects.join('\\n')\n\t\t\t};\n\t\t}\n\n\t\tconst result = await provider.provideRenameEdits(this.model, this.position, newName, token);\n\t\tif (!result) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(nls.localize('no result', \"No result.\")), token);\n\t\t} else if (result.rejectReason) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(result.rejectReason), token);\n\t\t}\n\t\treturn result;\n\t}\n}\n\nexport async function rename(registry: LanguageFeatureRegistry<RenameProvider>, model: ITextModel, position: Position, newName: string): Promise<WorkspaceEdit & Rejection> {\n\tconst skeleton = new RenameSkeleton(model, position, registry);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\treturn { edits: [], rejectReason: loc.rejectReason };\n\t}\n\treturn skeleton.provideRenameEdits(newName, CancellationToken.None);\n}\n\n// --- register actions and commands\n\nclass RenameController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.renameController';\n\n\tstatic get(editor: ICodeEditor): RenameController | null {\n\t\treturn editor.getContribution<RenameController>(RenameController.ID);\n\t}\n\n\tprivate readonly _renameWidget: RenameWidget;\n\tprivate readonly _disposableStore = new DisposableStore();\n\tprivate _cts: CancellationTokenSource = new CancellationTokenSource();\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\t@IInstantiationService private readonly _instaService: IInstantiationService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@IBulkEditService private readonly _bulkEditService: IBulkEditService,\n\t\t@IEditorProgressService private readonly _progressService: IEditorProgressService,\n\t\t@ILogService private readonly _logService: ILogService,\n\t\t@ITextResourceConfigurationService private readonly _configService: ITextResourceConfigurationService,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tthis._renameWidget = this._disposableStore.add(this._instaService.createInstance(RenameWidget, this.editor, ['acceptRenameInput', 'acceptRenameInputWithPreview']));\n\t}\n\n\tdispose(): void {\n\t\tthis._disposableStore.dispose();\n\t\tthis._cts.dispose(true);\n\t}\n\n\tasync run(): Promise<void> {\n\n\t\tconst trace = this._logService.trace.bind(this._logService, '[rename]');\n\n\t\t// set up cancellation token to prevent reentrant rename, this\n\t\t// is the parent to the resolve- and rename-tokens\n\t\tthis._cts.dispose(true);\n\t\tthis._cts = new CancellationTokenSource();\n\n\t\tif (!this.editor.hasModel()) {\n\t\t\ttrace('editor has no model');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst position = this.editor.getPosition();\n\t\tconst skeleton = new RenameSkeleton(this.editor.getModel(), position, this._languageFeaturesService.renameProvider);\n\n\t\tif (!skeleton.hasProvider()) {\n\t\t\ttrace('skeleton has no provider');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 1 - resolve rename location\n\t\tconst cts1 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, undefined, this._cts.token);\n\n\t\tlet loc: RenameLocation & Rejection | undefined;\n\t\ttry {\n\t\t\ttrace('resolving rename location');\n\t\t\tconst resolveLocationOperation = skeleton.resolveRenameLocation(cts1.token);\n\t\t\tthis._progressService.showWhile(resolveLocationOperation, 250);\n\t\t\tloc = await resolveLocationOperation;\n\t\t\ttrace('resolved rename location');\n\t\t} catch (e: unknown) {\n\t\t\tif (e instanceof CancellationError) {\n\t\t\t\ttrace('resolve rename location cancelled', JSON.stringify(e, null, '\\t'));\n\t\t\t} else {\n\t\t\t\ttrace('resolve rename location failed', e instanceof Error ? e : JSON.stringify(e, null, '\\t'));\n\t\t\t\tif (typeof e === 'string' || isMarkdownString(e)) {\n\t\t\t\t\tMessageController.get(this.editor)?.showMessage(e || nls.localize('resolveRenameLocationFailed', \"An unknown error occurred while resolving rename location\"), position);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\n\t\t} finally {\n\t\t\tcts1.dispose();\n\t\t}\n\n\t\tif (!loc) {\n\t\t\ttrace('returning early - no loc');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (loc.rejectReason) {\n\t\t\ttrace(`returning early - rejected with reason: ${loc.rejectReason}`, loc.rejectReason);\n\t\t\tMessageController.get(this.editor)?.showMessage(loc.rejectReason, position);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (cts1.token.isCancellationRequested) {\n\t\t\ttrace('returning early - cts1 cancelled');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 2 - do rename at location\n\t\tconst cts2 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, loc.range, this._cts.token);\n\n\t\tconst model = this.editor.getModel(); // @ulugbekna: assumes editor still has a model, otherwise, cts1 should've been cancelled\n\n\t\tconst newSymbolNamesProviders = this._languageFeaturesService.newSymbolNamesProvider.all(model);\n\n\t\tconst resolvedNewSymbolnamesProviders = await Promise.all(newSymbolNamesProviders.map(async p => [p, await p.supportsAutomaticNewSymbolNamesTriggerKind ?? false] as const));\n\n\t\tconst requestRenameSuggestions = (triggerKind: NewSymbolNameTriggerKind, cts: CancellationToken) => {\n\t\t\tlet providers = resolvedNewSymbolnamesProviders.slice();\n\n\t\t\tif (triggerKind === NewSymbolNameTriggerKind.Automatic) {\n\t\t\t\tproviders = providers.filter(([_, supportsAutomatic]) => supportsAutomatic);\n\t\t\t}\n\n\t\t\treturn providers.map(([p,]) => p.provideNewSymbolNames(model, loc.range, triggerKind, cts));\n\t\t};\n\n\t\ttrace('creating rename input field and awaiting its result');\n\t\tconst supportPreview = this._bulkEditService.hasPreviewHandler() && this._configService.getValue<boolean>(this.editor.getModel().uri, 'editor.rename.enablePreview');\n\t\tconst inputFieldResult = await this._renameWidget.getInput(\n\t\t\tloc.range,\n\t\t\tloc.text,\n\t\t\tsupportPreview,\n\t\t\tnewSymbolNamesProviders.length > 0 ? requestRenameSuggestions : undefined,\n\t\t\tcts2\n\t\t);\n\t\ttrace('received response from rename input field');\n\n\t\t// no result, only hint to focus the editor or not\n\t\tif (typeof inputFieldResult === 'boolean') {\n\t\t\ttrace(`returning early - rename input field response - ${inputFieldResult}`);\n\t\t\tif (inputFieldResult) {\n\t\t\t\tthis.editor.focus();\n\t\t\t}\n\t\t\tcts2.dispose();\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.editor.focus();\n\n\t\ttrace('requesting rename edits');\n\t\tconst renameOperation = raceCancellation(skeleton.provideRenameEdits(inputFieldResult.newName, cts2.token), cts2.token).then(async renameResult => {\n\n\t\t\tif (!renameResult) {\n\t\t\t\ttrace('returning early - no rename edits result');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.editor.hasModel()) {\n\t\t\t\ttrace('returning early - no model after rename edits are provided');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (renameResult.rejectReason) {\n\t\t\t\ttrace(`returning early - rejected with reason: ${renameResult.rejectReason}`);\n\t\t\t\tthis._notificationService.info(renameResult.rejectReason);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// collapse selection to active end\n\t\t\tthis.editor.setSelection(Range.fromPositions(this.editor.getSelection().getPosition()));\n\n\t\t\ttrace('applying edits');\n\n\t\t\tthis._bulkEditService.apply(renameResult, {\n\t\t\t\teditor: this.editor,\n\t\t\t\tshowPreview: inputFieldResult.wantsPreview,\n\t\t\t\tlabel: nls.localize('label', \"Renaming '{0}' to '{1}'\", loc?.text, inputFieldResult.newName),\n\t\t\t\tcode: 'undoredo.rename',\n\t\t\t\tquotableLabel: nls.localize('quotableLabel', \"Renaming {0} to {1}\", loc?.text, inputFieldResult.newName),\n\t\t\t\trespectAutoSaveConfig: true,\n\t\t\t\treason: EditSources.rename(loc?.text, inputFieldResult.newName),\n\t\t\t}).then(result => {\n\t\t\t\ttrace('edits applied');\n\t\t\t\tif (result.ariaSummary) {\n\t\t\t\t\talert(nls.localize('aria', \"Successfully renamed '{0}' to '{1}'. Summary: {2}\", loc.text, inputFieldResult.newName, result.ariaSummary));\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\ttrace(`error when applying edits ${JSON.stringify(err, null, '\\t')}`);\n\t\t\t\tthis._notificationService.error(nls.localize('rename.failedApply', \"Rename failed to apply edits\"));\n\t\t\t\tthis._logService.error(err);\n\t\t\t});\n\n\t\t}, err => {\n\t\t\ttrace('error when providing rename edits', JSON.stringify(err, null, '\\t'));\n\n\t\t\tthis._notificationService.error(nls.localize('rename.failed', \"Rename failed to compute edits\"));\n\t\t\tthis._logService.error(err);\n\n\t\t}).finally(() => {\n\t\t\tcts2.dispose();\n\t\t});\n\n\t\ttrace('returning rename operation');\n\n\t\tthis._progressService.showWhile(renameOperation, 250);\n\t\treturn renameOperation;\n\n\t}\n\n\tacceptRenameInput(wantsPreview: boolean): void {\n\t\tthis._renameWidget.acceptInput(wantsPreview);\n\t}\n\n\tcancelRenameInput(): void {\n\t\tthis._renameWidget.cancelInput(true, 'cancelRenameInput command');\n\t}\n\n\tfocusNextRenameSuggestion(): void {\n\t\tthis._renameWidget.focusNextRenameSuggestion();\n\t}\n\n\tfocusPreviousRenameSuggestion(): void {\n\t\tthis._renameWidget.focusPreviousRenameSuggestion();\n\t}\n}\n\n// ---- action implementation\n\nexport class RenameAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.rename',\n\t\t\tlabel: nls.localize2('rename.label', \"Rename Symbol\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasRenameProvider),\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyCode.F2,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tcontextMenuOpts: {\n\t\t\t\tgroup: '1_modification',\n\t\t\t\torder: 1.1\n\t\t\t},\n\t\t\tcanTriggerInlineEdits: true,\n\t\t});\n\t}\n\n\toverride runCommand(accessor: ServicesAccessor, args: [URI, IPosition]): void | Promise<void> {\n\t\tconst editorService = accessor.get(ICodeEditorService);\n\t\tconst [uri, pos] = Array.isArray(args) && args || [undefined, undefined];\n\n\t\tif (URI.isUri(uri) && Position.isIPosition(pos)) {\n\t\t\treturn editorService.openCodeEditor({ resource: uri }, editorService.getActiveCodeEditor()).then(editor => {\n\t\t\t\tif (!editor) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\teditor.setPosition(pos);\n\t\t\t\teditor.invokeWithinContext(accessor => {\n\t\t\t\t\tthis.reportTelemetry(accessor, editor);\n\t\t\t\t\treturn this.run(accessor, editor);\n\t\t\t\t});\n\t\t\t}, onUnexpectedError);\n\t\t}\n\n\t\treturn super.runCommand(accessor, args);\n\t}\n\n\trun(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst logService = accessor.get(ILogService);\n\n\t\tconst controller = RenameController.get(editor);\n\n\t\tif (controller) {\n\t\t\tlogService.trace('[RenameAction] got controller, running...');\n\t\t\treturn controller.run();\n\t\t}\n\t\tlogService.trace('[RenameAction] returning early - controller missing');\n\t\treturn Promise.resolve();\n\t}\n}\n\nregisterEditorContribution(RenameController.ID, RenameController, EditorContributionInstantiation.Lazy);\nregisterEditorAction(RenameAction);\n\nconst RenameCommand = EditorCommand.bindToContribution<RenameController>(RenameController.get);\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.acceptRenameInput(false),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInputWithPreview',\n\tprecondition: ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE, ContextKeyExpr.has('config.editor.rename.enablePreview')),\n\thandler: x => x.acceptRenameInput(true),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyMod.CtrlCmd + KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'cancelRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.cancelRenameInput(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterAction2(class FocusNextRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusNextRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusNextRenameSuggestion', \"Focus Next Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.DownArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusNextRenameSuggestion();\n\t}\n});\n\nregisterAction2(class FocusPreviousRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusPreviousRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusPreviousRenameSuggestion', \"Focus Previous Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.UpArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusPreviousRenameSuggestion();\n\t}\n});\n\n// ---- api bridge command\n\nregisterModelAndPositionCommand('_executeDocumentRenameProvider', function (accessor, model, position, ...args) {\n\tconst [newName] = args;\n\tassertType(typeof newName === 'string');\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\treturn rename(renameProvider, model, position, newName);\n});\n\nregisterModelAndPositionCommand('_executePrepareRename', async function (accessor, model, position) {\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\tconst skeleton = new RenameSkeleton(model, position, renameProvider);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\tthrow new Error(loc.rejectReason);\n\t}\n\treturn loc;\n});\n\n\n//todo@jrieken use editor options world\nRegistry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({\n\tid: 'editor',\n\tproperties: {\n\t\t'editor.rename.enablePreview': {\n\t\t\tscope: ConfigurationScope.LANGUAGE_OVERRIDABLE,\n\t\t\tdescription: nls.localize('enablePreview', \"Enable/disable the ability to preview changes before renaming\"),\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/rename/browser/rename.ts"],"names":[],"mappings":"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","file":"rename.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { alert } from '../../../../base/browser/ui/aria/aria.js';\nimport { raceCancellation } from '../../../../base/common/async.js';\nimport { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';\nimport { CancellationError, onUnexpectedError } from '../../../../base/common/errors.js';\nimport { isMarkdownString } from '../../../../base/common/htmlContent.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport * as nls from '../../../../nls.js';\nimport { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { ConfigurationScope, Extensions, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js';\nimport { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { ILogService } from '../../../../platform/log/common/log.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IEditorProgressService } from '../../../../platform/progress/common/progress.js';\nimport { Registry } from '../../../../platform/registry/common/platform.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, ServicesAccessor, registerEditorAction, registerEditorCommand, registerEditorContribution, registerModelAndPositionCommand } from '../../../browser/editorExtensions.js';\nimport { IBulkEditService } from '../../../browser/services/bulkEditService.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { IPosition, Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { NewSymbolNameTriggerKind, Rejection, RenameLocation, RenameProvider, WorkspaceEdit } from '../../../common/languages.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ITextResourceConfigurationService } from '../../../common/services/textResourceConfiguration.js';\nimport { EditSources } from '../../../common/textModelEditSource.js';\nimport { CodeEditorStateFlag, EditorStateCancellationTokenSource } from '../../editorState/browser/editorState.js';\nimport { MessageController } from '../../message/browser/messageController.js';\nimport { CONTEXT_RENAME_INPUT_VISIBLE, RenameWidget } from './renameWidget.js';\n\nclass RenameSkeleton {\n\n\tprivate readonly _providers: RenameProvider[];\n\tprivate _providerRenameIdx: number = 0;\n\n\tconstructor(\n\t\tprivate readonly model: ITextModel,\n\t\tprivate readonly position: Position,\n\t\tregistry: LanguageFeatureRegistry<RenameProvider>\n\t) {\n\t\tthis._providers = registry.ordered(model);\n\t}\n\n\thasProvider() {\n\t\treturn this._providers.length > 0;\n\t}\n\n\tasync resolveRenameLocation(token: CancellationToken): Promise<RenameLocation & Rejection | undefined> {\n\n\t\tconst rejects: string[] = [];\n\n\t\tfor (this._providerRenameIdx = 0; this._providerRenameIdx < this._providers.length; this._providerRenameIdx++) {\n\t\t\tconst provider = this._providers[this._providerRenameIdx];\n\t\t\tif (!provider.resolveRenameLocation) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst res = await provider.resolveRenameLocation(this.model, this.position, token);\n\t\t\tif (!res) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (res.rejectReason) {\n\t\t\t\trejects.push(res.rejectReason);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\t// we are here when no provider prepared a location which means we can\n\t\t// just rely on the word under cursor and start with the first provider\n\t\tthis._providerRenameIdx = 0;\n\n\t\tconst word = this.model.getWordAtPosition(this.position);\n\t\tif (!word) {\n\t\t\treturn {\n\t\t\t\trange: Range.fromPositions(this.position),\n\t\t\t\ttext: '',\n\t\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\trange: new Range(this.position.lineNumber, word.startColumn, this.position.lineNumber, word.endColumn),\n\t\t\ttext: word.word,\n\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t};\n\t}\n\n\tasync provideRenameEdits(newName: string, token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\treturn this._provideRenameEdits(newName, this._providerRenameIdx, [], token);\n\t}\n\n\tprivate async _provideRenameEdits(newName: string, i: number, rejects: string[], token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\tconst provider = this._providers[i];\n\t\tif (!provider) {\n\t\t\treturn {\n\t\t\t\tedits: [],\n\t\t\t\trejectReason: rejects.join('\\n')\n\t\t\t};\n\t\t}\n\n\t\tconst result = await provider.provideRenameEdits(this.model, this.position, newName, token);\n\t\tif (!result) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(nls.localize('no result', \"No result.\")), token);\n\t\t} else if (result.rejectReason) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(result.rejectReason), token);\n\t\t}\n\t\treturn result;\n\t}\n}\n\nexport async function rename(registry: LanguageFeatureRegistry<RenameProvider>, model: ITextModel, position: Position, newName: string): Promise<WorkspaceEdit & Rejection> {\n\tconst skeleton = new RenameSkeleton(model, position, registry);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\treturn { edits: [], rejectReason: loc.rejectReason };\n\t}\n\treturn skeleton.provideRenameEdits(newName, CancellationToken.None);\n}\n\nexport async function prepareRename(registry: LanguageFeatureRegistry<RenameProvider>, model: ITextModel, position: Position): Promise<RenameLocation & Rejection | undefined> {\n\tconst skeleton = new RenameSkeleton(model, position, registry);\n\treturn skeleton.resolveRenameLocation(CancellationToken.None);\n}\n\n// --- register actions and commands\n\nclass RenameController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.renameController';\n\n\tstatic get(editor: ICodeEditor): RenameController | null {\n\t\treturn editor.getContribution<RenameController>(RenameController.ID);\n\t}\n\n\tprivate readonly _renameWidget: RenameWidget;\n\tprivate readonly _disposableStore = new DisposableStore();\n\tprivate _cts: CancellationTokenSource = new CancellationTokenSource();\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\t@IInstantiationService private readonly _instaService: IInstantiationService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@IBulkEditService private readonly _bulkEditService: IBulkEditService,\n\t\t@IEditorProgressService private readonly _progressService: IEditorProgressService,\n\t\t@ILogService private readonly _logService: ILogService,\n\t\t@ITextResourceConfigurationService private readonly _configService: ITextResourceConfigurationService,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tthis._renameWidget = this._disposableStore.add(this._instaService.createInstance(RenameWidget, this.editor, ['acceptRenameInput', 'acceptRenameInputWithPreview']));\n\t}\n\n\tdispose(): void {\n\t\tthis._disposableStore.dispose();\n\t\tthis._cts.dispose(true);\n\t}\n\n\tasync run(): Promise<void> {\n\n\t\tconst trace = this._logService.trace.bind(this._logService, '[rename]');\n\n\t\t// set up cancellation token to prevent reentrant rename, this\n\t\t// is the parent to the resolve- and rename-tokens\n\t\tthis._cts.dispose(true);\n\t\tthis._cts = new CancellationTokenSource();\n\n\t\tif (!this.editor.hasModel()) {\n\t\t\ttrace('editor has no model');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst position = this.editor.getPosition();\n\t\tconst skeleton = new RenameSkeleton(this.editor.getModel(), position, this._languageFeaturesService.renameProvider);\n\n\t\tif (!skeleton.hasProvider()) {\n\t\t\ttrace('skeleton has no provider');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 1 - resolve rename location\n\t\tconst cts1 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, undefined, this._cts.token);\n\n\t\tlet loc: RenameLocation & Rejection | undefined;\n\t\ttry {\n\t\t\ttrace('resolving rename location');\n\t\t\tconst resolveLocationOperation = skeleton.resolveRenameLocation(cts1.token);\n\t\t\tthis._progressService.showWhile(resolveLocationOperation, 250);\n\t\t\tloc = await resolveLocationOperation;\n\t\t\ttrace('resolved rename location');\n\t\t} catch (e: unknown) {\n\t\t\tif (e instanceof CancellationError) {\n\t\t\t\ttrace('resolve rename location cancelled', JSON.stringify(e, null, '\\t'));\n\t\t\t} else {\n\t\t\t\ttrace('resolve rename location failed', e instanceof Error ? e : JSON.stringify(e, null, '\\t'));\n\t\t\t\tif (typeof e === 'string' || isMarkdownString(e)) {\n\t\t\t\t\tMessageController.get(this.editor)?.showMessage(e || nls.localize('resolveRenameLocationFailed', \"An unknown error occurred while resolving rename location\"), position);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\n\t\t} finally {\n\t\t\tcts1.dispose();\n\t\t}\n\n\t\tif (!loc) {\n\t\t\ttrace('returning early - no loc');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (loc.rejectReason) {\n\t\t\ttrace(`returning early - rejected with reason: ${loc.rejectReason}`, loc.rejectReason);\n\t\t\tMessageController.get(this.editor)?.showMessage(loc.rejectReason, position);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (cts1.token.isCancellationRequested) {\n\t\t\ttrace('returning early - cts1 cancelled');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 2 - do rename at location\n\t\tconst cts2 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, loc.range, this._cts.token);\n\n\t\tconst model = this.editor.getModel(); // @ulugbekna: assumes editor still has a model, otherwise, cts1 should've been cancelled\n\n\t\tconst newSymbolNamesProviders = this._languageFeaturesService.newSymbolNamesProvider.all(model);\n\n\t\tconst resolvedNewSymbolnamesProviders = await Promise.all(newSymbolNamesProviders.map(async p => [p, await p.supportsAutomaticNewSymbolNamesTriggerKind ?? false] as const));\n\n\t\tconst requestRenameSuggestions = (triggerKind: NewSymbolNameTriggerKind, cts: CancellationToken) => {\n\t\t\tlet providers = resolvedNewSymbolnamesProviders.slice();\n\n\t\t\tif (triggerKind === NewSymbolNameTriggerKind.Automatic) {\n\t\t\t\tproviders = providers.filter(([_, supportsAutomatic]) => supportsAutomatic);\n\t\t\t}\n\n\t\t\treturn providers.map(([p,]) => p.provideNewSymbolNames(model, loc.range, triggerKind, cts));\n\t\t};\n\n\t\ttrace('creating rename input field and awaiting its result');\n\t\tconst supportPreview = this._bulkEditService.hasPreviewHandler() && this._configService.getValue<boolean>(this.editor.getModel().uri, 'editor.rename.enablePreview');\n\t\tconst inputFieldResult = await this._renameWidget.getInput(\n\t\t\tloc.range,\n\t\t\tloc.text,\n\t\t\tsupportPreview,\n\t\t\tnewSymbolNamesProviders.length > 0 ? requestRenameSuggestions : undefined,\n\t\t\tcts2\n\t\t);\n\t\ttrace('received response from rename input field');\n\n\t\t// no result, only hint to focus the editor or not\n\t\tif (typeof inputFieldResult === 'boolean') {\n\t\t\ttrace(`returning early - rename input field response - ${inputFieldResult}`);\n\t\t\tif (inputFieldResult) {\n\t\t\t\tthis.editor.focus();\n\t\t\t}\n\t\t\tcts2.dispose();\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.editor.focus();\n\n\t\ttrace('requesting rename edits');\n\t\tconst renameOperation = raceCancellation(skeleton.provideRenameEdits(inputFieldResult.newName, cts2.token), cts2.token).then(async renameResult => {\n\n\t\t\tif (!renameResult) {\n\t\t\t\ttrace('returning early - no rename edits result');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.editor.hasModel()) {\n\t\t\t\ttrace('returning early - no model after rename edits are provided');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (renameResult.rejectReason) {\n\t\t\t\ttrace(`returning early - rejected with reason: ${renameResult.rejectReason}`);\n\t\t\t\tthis._notificationService.info(renameResult.rejectReason);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// collapse selection to active end\n\t\t\tthis.editor.setSelection(Range.fromPositions(this.editor.getSelection().getPosition()));\n\n\t\t\ttrace('applying edits');\n\n\t\t\tthis._bulkEditService.apply(renameResult, {\n\t\t\t\teditor: this.editor,\n\t\t\t\tshowPreview: inputFieldResult.wantsPreview,\n\t\t\t\tlabel: nls.localize('label', \"Renaming '{0}' to '{1}'\", loc?.text, inputFieldResult.newName),\n\t\t\t\tcode: 'undoredo.rename',\n\t\t\t\tquotableLabel: nls.localize('quotableLabel', \"Renaming {0} to {1}\", loc?.text, inputFieldResult.newName),\n\t\t\t\trespectAutoSaveConfig: true,\n\t\t\t\treason: EditSources.rename(loc?.text, inputFieldResult.newName),\n\t\t\t}).then(result => {\n\t\t\t\ttrace('edits applied');\n\t\t\t\tif (result.ariaSummary) {\n\t\t\t\t\talert(nls.localize('aria', \"Successfully renamed '{0}' to '{1}'. Summary: {2}\", loc.text, inputFieldResult.newName, result.ariaSummary));\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\ttrace(`error when applying edits ${JSON.stringify(err, null, '\\t')}`);\n\t\t\t\tthis._notificationService.error(nls.localize('rename.failedApply', \"Rename failed to apply edits\"));\n\t\t\t\tthis._logService.error(err);\n\t\t\t});\n\n\t\t}, err => {\n\t\t\ttrace('error when providing rename edits', JSON.stringify(err, null, '\\t'));\n\n\t\t\tthis._notificationService.error(nls.localize('rename.failed', \"Rename failed to compute edits\"));\n\t\t\tthis._logService.error(err);\n\n\t\t}).finally(() => {\n\t\t\tcts2.dispose();\n\t\t});\n\n\t\ttrace('returning rename operation');\n\n\t\tthis._progressService.showWhile(renameOperation, 250);\n\t\treturn renameOperation;\n\n\t}\n\n\tacceptRenameInput(wantsPreview: boolean): void {\n\t\tthis._renameWidget.acceptInput(wantsPreview);\n\t}\n\n\tcancelRenameInput(): void {\n\t\tthis._renameWidget.cancelInput(true, 'cancelRenameInput command');\n\t}\n\n\tfocusNextRenameSuggestion(): void {\n\t\tthis._renameWidget.focusNextRenameSuggestion();\n\t}\n\n\tfocusPreviousRenameSuggestion(): void {\n\t\tthis._renameWidget.focusPreviousRenameSuggestion();\n\t}\n}\n\n// ---- action implementation\n\nexport class RenameAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.rename',\n\t\t\tlabel: nls.localize2('rename.label', \"Rename Symbol\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasRenameProvider),\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyCode.F2,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tcontextMenuOpts: {\n\t\t\t\tgroup: '1_modification',\n\t\t\t\torder: 1.1\n\t\t\t},\n\t\t\tcanTriggerInlineEdits: true,\n\t\t});\n\t}\n\n\toverride runCommand(accessor: ServicesAccessor, args: [URI, IPosition]): void | Promise<void> {\n\t\tconst editorService = accessor.get(ICodeEditorService);\n\t\tconst [uri, pos] = Array.isArray(args) && args || [undefined, undefined];\n\n\t\tif (URI.isUri(uri) && Position.isIPosition(pos)) {\n\t\t\treturn editorService.openCodeEditor({ resource: uri }, editorService.getActiveCodeEditor()).then(editor => {\n\t\t\t\tif (!editor) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\teditor.setPosition(pos);\n\t\t\t\teditor.invokeWithinContext(accessor => {\n\t\t\t\t\tthis.reportTelemetry(accessor, editor);\n\t\t\t\t\treturn this.run(accessor, editor);\n\t\t\t\t});\n\t\t\t}, onUnexpectedError);\n\t\t}\n\n\t\treturn super.runCommand(accessor, args);\n\t}\n\n\trun(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst logService = accessor.get(ILogService);\n\n\t\tconst controller = RenameController.get(editor);\n\n\t\tif (controller) {\n\t\t\tlogService.trace('[RenameAction] got controller, running...');\n\t\t\treturn controller.run();\n\t\t}\n\t\tlogService.trace('[RenameAction] returning early - controller missing');\n\t\treturn Promise.resolve();\n\t}\n}\n\nregisterEditorContribution(RenameController.ID, RenameController, EditorContributionInstantiation.Lazy);\nregisterEditorAction(RenameAction);\n\nconst RenameCommand = EditorCommand.bindToContribution<RenameController>(RenameController.get);\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.acceptRenameInput(false),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInputWithPreview',\n\tprecondition: ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE, ContextKeyExpr.has('config.editor.rename.enablePreview')),\n\thandler: x => x.acceptRenameInput(true),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyMod.CtrlCmd + KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'cancelRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.cancelRenameInput(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterAction2(class FocusNextRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusNextRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusNextRenameSuggestion', \"Focus Next Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.DownArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusNextRenameSuggestion();\n\t}\n});\n\nregisterAction2(class FocusPreviousRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusPreviousRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusPreviousRenameSuggestion', \"Focus Previous Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.UpArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusPreviousRenameSuggestion();\n\t}\n});\n\n// ---- api bridge command\n\nregisterModelAndPositionCommand('_executeDocumentRenameProvider', function (accessor, model, position, ...args) {\n\tconst [newName] = args;\n\tassertType(typeof newName === 'string');\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\treturn rename(renameProvider, model, position, newName);\n});\n\nregisterModelAndPositionCommand('_executePrepareRename', async function (accessor, model, position) {\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\tconst skeleton = new RenameSkeleton(model, position, renameProvider);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\tthrow new Error(loc.rejectReason);\n\t}\n\treturn loc;\n});\n\n\n//todo@jrieken use editor options world\nRegistry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({\n\tid: 'editor',\n\tproperties: {\n\t\t'editor.rename.enablePreview': {\n\t\t\tscope: ConfigurationScope.LANGUAGE_OVERRIDABLE,\n\t\t\tdescription: nls.localize('enablePreview', \"Enable/disable the ability to preview changes before renaming\"),\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n});\n"]}
|
|
@@ -39,8 +39,8 @@ import { editorWidgetBackground, inputBackground, inputBorder, inputForeground,
|
|
|
39
39
|
import { IThemeService } from '../../../../platform/theme/common/themeService.js';
|
|
40
40
|
/** for debugging */
|
|
41
41
|
const _sticky = false;
|
|
42
|
-
export const CONTEXT_RENAME_INPUT_VISIBLE = new RawContextKey('renameInputVisible', false, nls.localize(
|
|
43
|
-
export const CONTEXT_RENAME_INPUT_FOCUSED = new RawContextKey('renameInputFocused', false, nls.localize(
|
|
42
|
+
export const CONTEXT_RENAME_INPUT_VISIBLE = new RawContextKey('renameInputVisible', false, nls.localize(1399, "Whether the rename input widget is visible"));
|
|
43
|
+
export const CONTEXT_RENAME_INPUT_FOCUSED = new RawContextKey('renameInputFocused', false, nls.localize(1400, "Whether the rename input widget is focused"));
|
|
44
44
|
let RenameWidget = class RenameWidget {
|
|
45
45
|
constructor(_editor, _acceptKeybindings, _themeService, _keybindingService, contextKeyService, _logService) {
|
|
46
46
|
this._editor = _editor;
|
|
@@ -163,7 +163,7 @@ let RenameWidget = class RenameWidget {
|
|
|
163
163
|
}
|
|
164
164
|
beforeRender() {
|
|
165
165
|
const [accept, preview] = this._acceptKeybindings;
|
|
166
|
-
this._label.innerText = nls.localize(
|
|
166
|
+
this._label.innerText = nls.localize(1401, "{0} to Rename, {1} to Preview", this._keybindingService.lookupKeybinding(accept)?.getLabel(), this._keybindingService.lookupKeybinding(preview)?.getLabel());
|
|
167
167
|
this._domNode.style.minWidth = `200px`; // to prevent from widening when candidates come in
|
|
168
168
|
return null;
|
|
169
169
|
}
|
|
@@ -477,7 +477,7 @@ class RenameCandidateListView {
|
|
|
477
477
|
// adjust list container layout
|
|
478
478
|
this._listContainer.style.height = `${height}px`;
|
|
479
479
|
this._listContainer.style.width = `${width}px`;
|
|
480
|
-
aria.status(nls.localize(
|
|
480
|
+
aria.status(nls.localize(1402, "Received {0} rename suggestions", candidates.length));
|
|
481
481
|
}
|
|
482
482
|
clearCandidates() {
|
|
483
483
|
this._listContainer.style.height = '0px';
|
|
@@ -619,13 +619,13 @@ class InputWithButton {
|
|
|
619
619
|
this._inputNode.className = 'rename-input';
|
|
620
620
|
this._inputNode.type = 'text';
|
|
621
621
|
this._inputNode.style.border = 'none';
|
|
622
|
-
this._inputNode.setAttribute('aria-label', nls.localize(
|
|
622
|
+
this._inputNode.setAttribute('aria-label', nls.localize(1403, "Rename input. Type new name and press Enter to commit."));
|
|
623
623
|
this._domNode.appendChild(this._inputNode);
|
|
624
624
|
this._buttonNode = document.createElement('div');
|
|
625
625
|
this._buttonNode.className = 'rename-suggestions-button';
|
|
626
626
|
this._buttonNode.setAttribute('tabindex', '0');
|
|
627
|
-
this._buttonGenHoverText = nls.localize(
|
|
628
|
-
this._buttonCancelHoverText = nls.localize(
|
|
627
|
+
this._buttonGenHoverText = nls.localize(1404, "Generate New Name Suggestions");
|
|
628
|
+
this._buttonCancelHoverText = nls.localize(1405, "Cancel");
|
|
629
629
|
this._buttonHoverContent = this._buttonGenHoverText;
|
|
630
630
|
this._disposables.add(getBaseLayerHoverDelegate().setupDelayedHover(this._buttonNode, () => ({
|
|
631
631
|
content: this._buttonHoverContent,
|
|
@@ -131,7 +131,7 @@ class GrowSelectionAction extends AbstractSmartSelect {
|
|
|
131
131
|
constructor() {
|
|
132
132
|
super(true, {
|
|
133
133
|
id: 'editor.action.smartSelect.expand',
|
|
134
|
-
label: nls.localize2(
|
|
134
|
+
label: nls.localize2(1408, "Expand Selection"),
|
|
135
135
|
precondition: undefined,
|
|
136
136
|
kbOpts: {
|
|
137
137
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -145,7 +145,7 @@ class GrowSelectionAction extends AbstractSmartSelect {
|
|
|
145
145
|
menuOpts: {
|
|
146
146
|
menuId: MenuId.MenubarSelectionMenu,
|
|
147
147
|
group: '1_basic',
|
|
148
|
-
title: nls.localize(
|
|
148
|
+
title: nls.localize(1406, "&&Expand Selection"),
|
|
149
149
|
order: 2
|
|
150
150
|
}
|
|
151
151
|
});
|
|
@@ -157,7 +157,7 @@ class ShrinkSelectionAction extends AbstractSmartSelect {
|
|
|
157
157
|
constructor() {
|
|
158
158
|
super(false, {
|
|
159
159
|
id: 'editor.action.smartSelect.shrink',
|
|
160
|
-
label: nls.localize2(
|
|
160
|
+
label: nls.localize2(1409, "Shrink Selection"),
|
|
161
161
|
precondition: undefined,
|
|
162
162
|
kbOpts: {
|
|
163
163
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -171,7 +171,7 @@ class ShrinkSelectionAction extends AbstractSmartSelect {
|
|
|
171
171
|
menuOpts: {
|
|
172
172
|
menuId: MenuId.MenubarSelectionMenu,
|
|
173
173
|
group: '1_basic',
|
|
174
|
-
title: nls.localize(
|
|
174
|
+
title: nls.localize(1407, "&&Shrink Selection"),
|
|
175
175
|
order: 3
|
|
176
176
|
}
|
|
177
177
|
});
|
|
@@ -40,9 +40,9 @@ let SnippetController2 = class SnippetController2 {
|
|
|
40
40
|
static get(editor) {
|
|
41
41
|
return editor.getContribution(SnippetController2_1.ID);
|
|
42
42
|
}
|
|
43
|
-
static { this.InSnippetMode = new RawContextKey('inSnippetMode', false, localize(
|
|
44
|
-
static { this.HasNextTabstop = new RawContextKey('hasNextTabstop', false, localize(
|
|
45
|
-
static { this.HasPrevTabstop = new RawContextKey('hasPrevTabstop', false, localize(
|
|
43
|
+
static { this.InSnippetMode = new RawContextKey('inSnippetMode', false, localize(1410, "Whether the editor in current in snippet mode")); }
|
|
44
|
+
static { this.HasNextTabstop = new RawContextKey('hasNextTabstop', false, localize(1411, "Whether there is a next tab stop when in snippet mode")); }
|
|
45
|
+
static { this.HasPrevTabstop = new RawContextKey('hasPrevTabstop', false, localize(1412, "Whether there is a previous tab stop when in snippet mode")); }
|
|
46
46
|
constructor(_editor, _logService, _languageFeaturesService, contextKeyService, _languageConfigurationService) {
|
|
47
47
|
this._editor = _editor;
|
|
48
48
|
this._logService = _logService;
|
|
@@ -128,7 +128,7 @@ let SnippetController2 = class SnippetController2 {
|
|
|
128
128
|
sortText: 'a'.repeat(i + 1),
|
|
129
129
|
range: activeChoice.range,
|
|
130
130
|
filterText: isAnyOfOptions ? `${word}_${option.value}` : undefined,
|
|
131
|
-
command: { id: 'jumpToNextSnippetPlaceholder', title: localize(
|
|
131
|
+
command: { id: 'jumpToNextSnippetPlaceholder', title: localize(1413, 'Go to next placeholder...') }
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
return { suggestions };
|
|
@@ -245,10 +245,10 @@ export class TimeBasedVariableResolver {
|
|
|
245
245
|
constructor() {
|
|
246
246
|
this._date = new Date();
|
|
247
247
|
}
|
|
248
|
-
static { this.dayNames = [nls.localize(
|
|
249
|
-
static { this.dayNamesShort = [nls.localize(
|
|
250
|
-
static { this.monthNames = [nls.localize(
|
|
251
|
-
static { this.monthNamesShort = [nls.localize(
|
|
248
|
+
static { this.dayNames = [nls.localize(1414, "Sunday"), nls.localize(1415, "Monday"), nls.localize(1416, "Tuesday"), nls.localize(1417, "Wednesday"), nls.localize(1418, "Thursday"), nls.localize(1419, "Friday"), nls.localize(1420, "Saturday")]; }
|
|
249
|
+
static { this.dayNamesShort = [nls.localize(1421, "Sun"), nls.localize(1422, "Mon"), nls.localize(1423, "Tue"), nls.localize(1424, "Wed"), nls.localize(1425, "Thu"), nls.localize(1426, "Fri"), nls.localize(1427, "Sat")]; }
|
|
250
|
+
static { this.monthNames = [nls.localize(1428, "January"), nls.localize(1429, "February"), nls.localize(1430, "March"), nls.localize(1431, "April"), nls.localize(1432, "May"), nls.localize(1433, "June"), nls.localize(1434, "July"), nls.localize(1435, "August"), nls.localize(1436, "September"), nls.localize(1437, "October"), nls.localize(1438, "November"), nls.localize(1439, "December")]; }
|
|
251
|
+
static { this.monthNamesShort = [nls.localize(1440, "Jan"), nls.localize(1441, "Feb"), nls.localize(1442, "Mar"), nls.localize(1443, "Apr"), nls.localize(1444, "May"), nls.localize(1445, "Jun"), nls.localize(1446, "Jul"), nls.localize(1447, "Aug"), nls.localize(1448, "Sep"), nls.localize(1449, "Oct"), nls.localize(1450, "Nov"), nls.localize(1451, "Dec")]; }
|
|
252
252
|
resolve(variable) {
|
|
253
253
|
const { name } = variable;
|
|
254
254
|
if (name === 'CURRENT_YEAR') {
|
|
@@ -15,17 +15,17 @@ export class ToggleStickyScroll extends EditorAction2 {
|
|
|
15
15
|
super({
|
|
16
16
|
id: 'editor.action.toggleStickyScroll',
|
|
17
17
|
title: {
|
|
18
|
-
...localize2(
|
|
19
|
-
mnemonicTitle: localize(
|
|
18
|
+
...localize2(1456, "Toggle Editor Sticky Scroll"),
|
|
19
|
+
mnemonicTitle: localize(1452, "&&Toggle Editor Sticky Scroll"),
|
|
20
20
|
},
|
|
21
21
|
metadata: {
|
|
22
|
-
description: localize2(
|
|
22
|
+
description: localize2(1457, "Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport"),
|
|
23
23
|
},
|
|
24
24
|
category: Categories.View,
|
|
25
25
|
toggled: {
|
|
26
26
|
condition: ContextKeyExpr.equals('config.editor.stickyScroll.enabled', true),
|
|
27
|
-
title: localize(
|
|
28
|
-
mnemonicTitle: localize(
|
|
27
|
+
title: localize(1453, "Sticky Scroll"),
|
|
28
|
+
mnemonicTitle: localize(1454, "&&Sticky Scroll"),
|
|
29
29
|
},
|
|
30
30
|
menu: [
|
|
31
31
|
{ id: MenuId.CommandPalette },
|
|
@@ -50,8 +50,8 @@ export class FocusStickyScroll extends EditorAction2 {
|
|
|
50
50
|
super({
|
|
51
51
|
id: 'editor.action.focusStickyScroll',
|
|
52
52
|
title: {
|
|
53
|
-
...localize2(
|
|
54
|
-
mnemonicTitle: localize(
|
|
53
|
+
...localize2(1458, "Focus Editor Sticky Scroll"),
|
|
54
|
+
mnemonicTitle: localize(1455, "&&Focus Editor Sticky Scroll"),
|
|
55
55
|
},
|
|
56
56
|
precondition: ContextKeyExpr.and(ContextKeyExpr.has('config.editor.stickyScroll.enabled'), EditorContextKeys.stickyScrollVisible),
|
|
57
57
|
menu: [
|
|
@@ -67,7 +67,7 @@ export class SelectNextStickyScrollLine extends EditorAction2 {
|
|
|
67
67
|
constructor() {
|
|
68
68
|
super({
|
|
69
69
|
id: 'editor.action.selectNextStickyScrollLine',
|
|
70
|
-
title: localize2(
|
|
70
|
+
title: localize2(1459, "Select the next editor sticky scroll line"),
|
|
71
71
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
72
72
|
keybinding: {
|
|
73
73
|
weight,
|
|
@@ -83,7 +83,7 @@ export class SelectPreviousStickyScrollLine extends EditorAction2 {
|
|
|
83
83
|
constructor() {
|
|
84
84
|
super({
|
|
85
85
|
id: 'editor.action.selectPreviousStickyScrollLine',
|
|
86
|
-
title: localize2(
|
|
86
|
+
title: localize2(1460, "Select the previous sticky scroll line"),
|
|
87
87
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
88
88
|
keybinding: {
|
|
89
89
|
weight,
|
|
@@ -99,7 +99,7 @@ export class GoToStickyScrollLine extends EditorAction2 {
|
|
|
99
99
|
constructor() {
|
|
100
100
|
super({
|
|
101
101
|
id: 'editor.action.goToFocusedStickyScrollLine',
|
|
102
|
-
title: localize2(
|
|
102
|
+
title: localize2(1461, "Go to the focused sticky scroll line"),
|
|
103
103
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
104
104
|
keybinding: {
|
|
105
105
|
weight,
|
|
@@ -115,7 +115,7 @@ export class SelectEditor extends EditorAction2 {
|
|
|
115
115
|
constructor() {
|
|
116
116
|
super({
|
|
117
117
|
id: 'editor.action.selectEditor',
|
|
118
|
-
title: localize2(
|
|
118
|
+
title: localize2(1462, "Select Editor"),
|
|
119
119
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
120
120
|
keybinding: {
|
|
121
121
|
weight,
|
|
@@ -21,14 +21,14 @@ import { ILanguageFeaturesService } from '../../../common/services/languageFeatu
|
|
|
21
21
|
import { historyNavigationVisible } from '../../../../platform/history/browser/contextScopedHistoryWidget.js';
|
|
22
22
|
export 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(
|
|
27
|
-
MakesTextEdit: new RawContextKey('suggestionMakesTextEdit', true, localize(
|
|
28
|
-
AcceptSuggestionsOnEnter: new RawContextKey('acceptSuggestionOnEnter', true, localize(
|
|
29
|
-
HasInsertAndReplaceRange: new RawContextKey('suggestionHasInsertAndReplaceRange', false, localize(
|
|
30
|
-
InsertMode: new RawContextKey('suggestionInsertMode', undefined, { type: 'string', description: localize(
|
|
31
|
-
CanResolve: new RawContextKey('suggestionCanResolve', false, localize(
|
|
24
|
+
HasFocusedSuggestion: new RawContextKey('suggestWidgetHasFocusedSuggestion', false, localize(1463, "Whether any suggestion is focused")),
|
|
25
|
+
DetailsVisible: new RawContextKey('suggestWidgetDetailsVisible', false, localize(1464, "Whether suggestion details are visible")),
|
|
26
|
+
MultipleSuggestions: new RawContextKey('suggestWidgetMultipleSuggestions', false, localize(1465, "Whether there are multiple suggestions to pick from")),
|
|
27
|
+
MakesTextEdit: new RawContextKey('suggestionMakesTextEdit', true, localize(1466, "Whether inserting the current suggestion yields in a change or has everything already been typed")),
|
|
28
|
+
AcceptSuggestionsOnEnter: new RawContextKey('acceptSuggestionOnEnter', true, localize(1467, "Whether suggestions are inserted when pressing Enter")),
|
|
29
|
+
HasInsertAndReplaceRange: new RawContextKey('suggestionHasInsertAndReplaceRange', false, localize(1468, "Whether the current suggestion has insert and replace behaviour")),
|
|
30
|
+
InsertMode: new RawContextKey('suggestionInsertMode', undefined, { type: 'string', description: localize(1469, "Whether the default behaviour is to insert or replace") }),
|
|
31
|
+
CanResolve: new RawContextKey('suggestionCanResolve', false, localize(1470, "Whether the current suggestion supports to resolve further details")),
|
|
32
32
|
};
|
|
33
33
|
export const suggestWidgetStatusbarMenu = new MenuId('suggestWidgetStatusBar');
|
|
34
34
|
export class CompletionItem {
|
|
@@ -482,7 +482,7 @@ let SuggestController = class SuggestController {
|
|
|
482
482
|
}
|
|
483
483
|
_alertCompletionItem(item) {
|
|
484
484
|
if (isNonEmptyArray(item.completion.additionalTextEdits)) {
|
|
485
|
-
const msg = nls.localize(
|
|
485
|
+
const msg = nls.localize(1471, "Accepting '{0}' made {1} additional edits", item.textLabel, item.completion.additionalTextEdits.length);
|
|
486
486
|
alert(msg);
|
|
487
487
|
}
|
|
488
488
|
}
|
|
@@ -669,7 +669,7 @@ export class TriggerSuggestAction extends EditorAction {
|
|
|
669
669
|
constructor() {
|
|
670
670
|
super({
|
|
671
671
|
id: TriggerSuggestAction.id,
|
|
672
|
-
label: nls.localize2(
|
|
672
|
+
label: nls.localize2(1479, "Trigger Suggest"),
|
|
673
673
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCompletionItemProvider, SuggestContext.Visible.toNegated()),
|
|
674
674
|
kbOpts: {
|
|
675
675
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -717,19 +717,19 @@ registerEditorCommand(new SuggestCommand({
|
|
|
717
717
|
}],
|
|
718
718
|
menuOpts: [{
|
|
719
719
|
menuId: suggestWidgetStatusbarMenu,
|
|
720
|
-
title: nls.localize(
|
|
720
|
+
title: nls.localize(1472, "Insert"),
|
|
721
721
|
group: 'left',
|
|
722
722
|
order: 1,
|
|
723
723
|
when: SuggestContext.HasInsertAndReplaceRange.toNegated()
|
|
724
724
|
}, {
|
|
725
725
|
menuId: suggestWidgetStatusbarMenu,
|
|
726
|
-
title: nls.localize(
|
|
726
|
+
title: nls.localize(1473, "Insert"),
|
|
727
727
|
group: 'left',
|
|
728
728
|
order: 1,
|
|
729
729
|
when: ContextKeyExpr.and(SuggestContext.HasInsertAndReplaceRange, SuggestContext.InsertMode.isEqualTo('insert'))
|
|
730
730
|
}, {
|
|
731
731
|
menuId: suggestWidgetStatusbarMenu,
|
|
732
|
-
title: nls.localize(
|
|
732
|
+
title: nls.localize(1474, "Replace"),
|
|
733
733
|
group: 'left',
|
|
734
734
|
order: 1,
|
|
735
735
|
when: ContextKeyExpr.and(SuggestContext.HasInsertAndReplaceRange, SuggestContext.InsertMode.isEqualTo('replace'))
|
|
@@ -752,13 +752,13 @@ registerEditorCommand(new SuggestCommand({
|
|
|
752
752
|
group: 'left',
|
|
753
753
|
order: 2,
|
|
754
754
|
when: ContextKeyExpr.and(SuggestContext.HasInsertAndReplaceRange, SuggestContext.InsertMode.isEqualTo('insert')),
|
|
755
|
-
title: nls.localize(
|
|
755
|
+
title: nls.localize(1475, "Replace")
|
|
756
756
|
}, {
|
|
757
757
|
menuId: suggestWidgetStatusbarMenu,
|
|
758
758
|
group: 'left',
|
|
759
759
|
order: 2,
|
|
760
760
|
when: ContextKeyExpr.and(SuggestContext.HasInsertAndReplaceRange, SuggestContext.InsertMode.isEqualTo('replace')),
|
|
761
|
-
title: nls.localize(
|
|
761
|
+
title: nls.localize(1476, "Insert")
|
|
762
762
|
}]
|
|
763
763
|
}));
|
|
764
764
|
// continue to support the old command
|
|
@@ -866,13 +866,13 @@ registerEditorCommand(new SuggestCommand({
|
|
|
866
866
|
group: 'right',
|
|
867
867
|
order: 1,
|
|
868
868
|
when: ContextKeyExpr.and(SuggestContext.DetailsVisible, SuggestContext.CanResolve),
|
|
869
|
-
title: nls.localize(
|
|
869
|
+
title: nls.localize(1477, "Show Less")
|
|
870
870
|
}, {
|
|
871
871
|
menuId: suggestWidgetStatusbarMenu,
|
|
872
872
|
group: 'right',
|
|
873
873
|
order: 1,
|
|
874
874
|
when: ContextKeyExpr.and(SuggestContext.DetailsVisible.toNegated(), SuggestContext.CanResolve),
|
|
875
|
-
title: nls.localize(
|
|
875
|
+
title: nls.localize(1478, "Show More")
|
|
876
876
|
}]
|
|
877
877
|
}));
|
|
878
878
|
registerEditorCommand(new SuggestCommand({
|
|
@@ -931,7 +931,7 @@ registerEditorAction(class extends EditorAction {
|
|
|
931
931
|
constructor() {
|
|
932
932
|
super({
|
|
933
933
|
id: 'editor.action.resetSuggestSize',
|
|
934
|
-
label: nls.localize2(
|
|
934
|
+
label: nls.localize2(1480, "Reset Suggest Widget Size"),
|
|
935
935
|
precondition: undefined
|
|
936
936
|
});
|
|
937
937
|
}
|
|
@@ -42,15 +42,15 @@ import { isWindows } from '../../../../base/common/platform.js';
|
|
|
42
42
|
/**
|
|
43
43
|
* Suggest widget colors
|
|
44
44
|
*/
|
|
45
|
-
registerColor('editorSuggestWidget.background', editorWidgetBackground, nls.localize(
|
|
46
|
-
registerColor('editorSuggestWidget.border', editorWidgetBorder, nls.localize(
|
|
47
|
-
export const editorSuggestWidgetForeground = registerColor('editorSuggestWidget.foreground', editorForeground, nls.localize(
|
|
48
|
-
registerColor('editorSuggestWidget.selectedForeground', quickInputListFocusForeground, nls.localize(
|
|
49
|
-
registerColor('editorSuggestWidget.selectedIconForeground', quickInputListFocusIconForeground, nls.localize(
|
|
50
|
-
export const editorSuggestWidgetSelectedBackground = registerColor('editorSuggestWidget.selectedBackground', quickInputListFocusBackground, nls.localize(
|
|
51
|
-
registerColor('editorSuggestWidget.highlightForeground', listHighlightForeground, nls.localize(
|
|
52
|
-
registerColor('editorSuggestWidget.focusHighlightForeground', listFocusHighlightForeground, nls.localize(
|
|
53
|
-
registerColor('editorSuggestWidgetStatus.foreground', transparent(editorSuggestWidgetForeground, .5), nls.localize(
|
|
45
|
+
registerColor('editorSuggestWidget.background', editorWidgetBackground, nls.localize(1481, 'Background color of the suggest widget.'));
|
|
46
|
+
registerColor('editorSuggestWidget.border', editorWidgetBorder, nls.localize(1482, 'Border color of the suggest widget.'));
|
|
47
|
+
export const editorSuggestWidgetForeground = registerColor('editorSuggestWidget.foreground', editorForeground, nls.localize(1483, 'Foreground color of the suggest widget.'));
|
|
48
|
+
registerColor('editorSuggestWidget.selectedForeground', quickInputListFocusForeground, nls.localize(1484, 'Foreground color of the selected entry in the suggest widget.'));
|
|
49
|
+
registerColor('editorSuggestWidget.selectedIconForeground', quickInputListFocusIconForeground, nls.localize(1485, 'Icon foreground color of the selected entry in the suggest widget.'));
|
|
50
|
+
export const editorSuggestWidgetSelectedBackground = registerColor('editorSuggestWidget.selectedBackground', quickInputListFocusBackground, nls.localize(1486, 'Background color of the selected entry in the suggest widget.'));
|
|
51
|
+
registerColor('editorSuggestWidget.highlightForeground', listHighlightForeground, nls.localize(1487, 'Color of the match highlights in the suggest widget.'));
|
|
52
|
+
registerColor('editorSuggestWidget.focusHighlightForeground', listFocusHighlightForeground, nls.localize(1488, 'Color of the match highlights in the suggest widget when an item is focused.'));
|
|
53
|
+
registerColor('editorSuggestWidgetStatus.foreground', transparent(editorSuggestWidgetForeground, .5), nls.localize(1489, 'Foreground color of the suggest widget status.'));
|
|
54
54
|
class PersistedWidgetSize {
|
|
55
55
|
constructor(_service, editor) {
|
|
56
56
|
this._service = _service;
|
|
@@ -78,8 +78,8 @@ class PersistedWidgetSize {
|
|
|
78
78
|
}
|
|
79
79
|
let SuggestWidget = class SuggestWidget {
|
|
80
80
|
static { SuggestWidget_1 = this; }
|
|
81
|
-
static { this.LOADING_MESSAGE = nls.localize(
|
|
82
|
-
static { this.NO_SUGGESTIONS_MESSAGE = nls.localize(
|
|
81
|
+
static { this.LOADING_MESSAGE = nls.localize(1490, "Loading..."); }
|
|
82
|
+
static { this.NO_SUGGESTIONS_MESSAGE = nls.localize(1491, "No suggestions."); }
|
|
83
83
|
constructor(editor, _storageService, _contextKeyService, _themeService, instantiationService) {
|
|
84
84
|
this.editor = editor;
|
|
85
85
|
this._storageService = _storageService;
|
|
@@ -166,7 +166,7 @@ let SuggestWidget = class SuggestWidget {
|
|
|
166
166
|
multipleSelectionSupport: false,
|
|
167
167
|
accessibilityProvider: {
|
|
168
168
|
getRole: () => isWindows ? 'listitem' : 'option',
|
|
169
|
-
getWidgetAriaLabel: () => nls.localize(
|
|
169
|
+
getWidgetAriaLabel: () => nls.localize(1492, "Suggest"),
|
|
170
170
|
getWidgetRole: () => 'listbox',
|
|
171
171
|
getAriaLabel: (item) => {
|
|
172
172
|
let label = item.textLabel;
|
|
@@ -174,24 +174,24 @@ let SuggestWidget = class SuggestWidget {
|
|
|
174
174
|
if (typeof item.completion.label !== 'string') {
|
|
175
175
|
const { detail, description } = item.completion.label;
|
|
176
176
|
if (detail && description) {
|
|
177
|
-
label = nls.localize(
|
|
177
|
+
label = nls.localize(1493, '{0} {1}, {2}, {3}', label, detail, description, kindLabel);
|
|
178
178
|
}
|
|
179
179
|
else if (detail) {
|
|
180
|
-
label = nls.localize(
|
|
180
|
+
label = nls.localize(1494, '{0} {1}, {2}', label, detail, kindLabel);
|
|
181
181
|
}
|
|
182
182
|
else if (description) {
|
|
183
|
-
label = nls.localize(
|
|
183
|
+
label = nls.localize(1495, '{0}, {1}, {2}', label, description, kindLabel);
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
else {
|
|
187
|
-
label = nls.localize(
|
|
187
|
+
label = nls.localize(1496, '{0}, {1}', label, kindLabel);
|
|
188
188
|
}
|
|
189
189
|
if (!item.isResolved || !this._isDetailsVisible()) {
|
|
190
190
|
return label;
|
|
191
191
|
}
|
|
192
192
|
const { documentation, detail } = item.completion;
|
|
193
193
|
const docs = strings.format('{0}{1}', detail || '', documentation ? (typeof documentation === 'string' ? documentation : documentation.value) : '');
|
|
194
|
-
return nls.localize(
|
|
194
|
+
return nls.localize(1497, "{0}, docs: {1}", label, docs);
|
|
195
195
|
},
|
|
196
196
|
}
|
|
197
197
|
});
|
|
@@ -48,7 +48,7 @@ let SuggestDetailsWidget = class SuggestDetailsWidget {
|
|
|
48
48
|
this._disposables.add(this._scrollbar);
|
|
49
49
|
this._header = dom.append(this._body, dom.$('.header'));
|
|
50
50
|
this._close = dom.append(this._header, dom.$('span' + ThemeIcon.asCSSSelector(Codicon.close)));
|
|
51
|
-
this._close.title = nls.localize(
|
|
51
|
+
this._close.title = nls.localize(1498, "Close");
|
|
52
52
|
this._close.role = 'button';
|
|
53
53
|
this._close.tabIndex = -1;
|
|
54
54
|
this._type = dom.append(this._header, dom.$('p.type'));
|
|
@@ -94,7 +94,7 @@ let SuggestDetailsWidget = class SuggestDetailsWidget {
|
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
renderLoading() {
|
|
97
|
-
this._type.textContent = nls.localize(
|
|
97
|
+
this._type.textContent = nls.localize(1499, "Loading...");
|
|
98
98
|
this._docs.textContent = '';
|
|
99
99
|
this.domNode.classList.remove('no-docs', 'no-type');
|
|
100
100
|
this.layout(this.size.width, this.getLayoutInfo().lineHeight * 2);
|
|
@@ -28,7 +28,7 @@ import { FileKind } from '../../../../platform/files/common/files.js';
|
|
|
28
28
|
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
|
|
29
29
|
import { IThemeService } from '../../../../platform/theme/common/themeService.js';
|
|
30
30
|
import { canExpandCompletionItem } from './suggestWidgetDetails.js';
|
|
31
|
-
const suggestMoreInfoIcon = registerIcon('suggest-more-info', Codicon.chevronRight, nls.localize(
|
|
31
|
+
const suggestMoreInfoIcon = registerIcon('suggest-more-info', Codicon.chevronRight, nls.localize(1500, 'Icon for more information in the suggest widget.'));
|
|
32
32
|
const _completionItemColor = new class ColorExtractor {
|
|
33
33
|
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*\))/; }
|
|
34
34
|
static { this._regexStrict = new RegExp(`^${ColorExtractor._regexRelaxed.source}$`, 'i'); }
|
|
@@ -84,7 +84,7 @@ let ItemRenderer = class ItemRenderer {
|
|
|
84
84
|
const qualifierLabel = append(left, $('span.qualifier-label'));
|
|
85
85
|
const detailsLabel = append(right, $('span.details-label'));
|
|
86
86
|
const readMore = append(right, $('span.readMore' + ThemeIcon.asCSSSelector(suggestMoreInfoIcon)));
|
|
87
|
-
readMore.title = nls.localize(
|
|
87
|
+
readMore.title = nls.localize(1501, "Read More");
|
|
88
88
|
const configureFont = () => {
|
|
89
89
|
const options = this._editor.getOptions();
|
|
90
90
|
const fontInfo = options.get(59 /* EditorOption.fontInfo */);
|