monaco-editor-core 0.55.0-dev-20251028 → 0.55.0-dev-20251029
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.messages.cs.js +1 -1
- package/esm/nls.messages.de.js +1 -1
- package/esm/nls.messages.es.js +1 -1
- package/esm/nls.messages.fr.js +1 -1
- package/esm/nls.messages.it.js +1 -1
- package/esm/nls.messages.ja.js +1 -1
- package/esm/nls.messages.ko.js +1 -1
- package/esm/nls.messages.pl.js +1 -1
- package/esm/nls.messages.pt-br.js +1 -1
- package/esm/nls.messages.ru.js +1 -1
- package/esm/nls.messages.tr.js +1 -1
- package/esm/nls.messages.zh-cn.js +1 -1
- package/esm/nls.messages.zh-tw.js +1 -1
- package/esm/vs/base/browser/markdownRenderer.js +1 -0
- package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/common/codiconsLibrary.js +6 -3
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/strings.js +1 -1
- package/esm/vs/base/common/strings.js.map +1 -1
- package/esm/vs/editor/browser/editorExtensions.js +5 -0
- package/esm/vs/editor/browser/editorExtensions.js.map +1 -1
- package/esm/vs/editor/browser/triggerInlineEditCommandsRegistry.js +17 -0
- package/esm/vs/editor/browser/triggerInlineEditCommandsRegistry.js.map +1 -0
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +2 -1
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js.map +1 -1
- package/esm/vs/editor/contrib/comment/browser/comment.js +10 -6
- package/esm/vs/editor/contrib/comment/browser/comment.js.map +1 -1
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +3 -1
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js.map +1 -1
- package/esm/vs/editor/contrib/indentation/browser/indentation.js +9 -7
- package/esm/vs/editor/contrib/indentation/browser/indentation.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +2 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +56 -31
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
- package/esm/vs/editor/contrib/rename/browser/rename.js +2 -1
- package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +8 -8
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js.map +1 -1
- package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
- package/esm/vs/platform/hover/browser/hoverWidget.js.map +1 -1
- 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(),\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});\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\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(),\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"]}
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as nls from '../../../../nls.js';
|
|
6
|
+
import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessibility/common/accessibility.js';
|
|
7
|
+
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
|
|
8
|
+
import { IsWindowsContext } from '../../../../platform/contextkey/common/contextkeys.js';
|
|
5
9
|
import { EditorAction, EditorCommand, registerEditorAction, registerEditorCommand } from '../../../browser/editorExtensions.js';
|
|
6
10
|
import { ReplaceCommand } from '../../../common/commands/replaceCommand.js';
|
|
7
11
|
import { EditorOptions } from '../../../common/config/editorOptions.js';
|
|
8
|
-
import { CursorState } from '../../../common/cursorCommon.js';
|
|
9
|
-
import { WordOperations } from '../../../common/cursor/cursorWordOperations.js';
|
|
10
|
-
import { getMapForWordSeparators } from '../../../common/core/wordCharacterClassifier.js';
|
|
11
12
|
import { Position } from '../../../common/core/position.js';
|
|
12
13
|
import { Range } from '../../../common/core/range.js';
|
|
13
14
|
import { Selection } from '../../../common/core/selection.js';
|
|
15
|
+
import { getMapForWordSeparators } from '../../../common/core/wordCharacterClassifier.js';
|
|
16
|
+
import { WordOperations } from '../../../common/cursor/cursorWordOperations.js';
|
|
17
|
+
import { CursorState } from '../../../common/cursorCommon.js';
|
|
14
18
|
import { EditorContextKeys } from '../../../common/editorContextKeys.js';
|
|
15
19
|
import { ILanguageConfigurationService } from '../../../common/languages/languageConfigurationRegistry.js';
|
|
16
|
-
import * as nls from '../../../../nls.js';
|
|
17
|
-
import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessibility/common/accessibility.js';
|
|
18
|
-
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
|
|
19
|
-
import { IsWindowsContext } from '../../../../platform/contextkey/common/contextkeys.js';
|
|
20
20
|
export class MoveWordCommand extends EditorCommand {
|
|
21
21
|
constructor(opts) {
|
|
22
22
|
super(opts);
|
|
@@ -263,7 +263,7 @@ export class CursorWordAccessibilityRightSelect extends WordRightCommand {
|
|
|
263
263
|
}
|
|
264
264
|
export class DeleteWordCommand extends EditorCommand {
|
|
265
265
|
constructor(opts) {
|
|
266
|
-
super(opts);
|
|
266
|
+
super({ canTriggerInlineEdits: true, ...opts });
|
|
267
267
|
this._whitespaceHeuristics = opts.whitespaceHeuristics;
|
|
268
268
|
this._wordNavigationType = opts.wordNavigationType;
|
|
269
269
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/wordOperations/browser/wordOperations.ts"],"names":[],"mappings":"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","file":"wordOperations.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 { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, ICommandOptions, registerEditorAction, registerEditorCommand, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { ReplaceCommand } from '../../../common/commands/replaceCommand.js';\nimport { EditorOption, EditorOptions } from '../../../common/config/editorOptions.js';\nimport { CursorState } from '../../../common/cursorCommon.js';\nimport { CursorChangeReason } from '../../../common/cursorEvents.js';\nimport { DeleteWordContext, WordNavigationType, WordOperations } from '../../../common/cursor/cursorWordOperations.js';\nimport { getMapForWordSeparators, WordCharacterClassifier } from '../../../common/core/wordCharacterClassifier.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { ScrollType } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { ILanguageConfigurationService } from '../../../common/languages/languageConfigurationRegistry.js';\nimport * as nls from '../../../../nls.js';\nimport { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessibility/common/accessibility.js';\nimport { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IsWindowsContext } from '../../../../platform/contextkey/common/contextkeys.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\n\nexport interface MoveWordOptions extends ICommandOptions {\n\tinSelectionMode: boolean;\n\twordNavigationType: WordNavigationType;\n}\n\nexport abstract class MoveWordCommand extends EditorCommand {\n\n\tprivate readonly _inSelectionMode: boolean;\n\tprivate readonly _wordNavigationType: WordNavigationType;\n\n\tconstructor(opts: MoveWordOptions) {\n\t\tsuper(opts);\n\t\tthis._inSelectionMode = opts.inSelectionMode;\n\t\tthis._wordNavigationType = opts.wordNavigationType;\n\t}\n\n\tpublic runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): void {\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst wordSeparators = getMapForWordSeparators(editor.getOption(EditorOption.wordSeparators), editor.getOption(EditorOption.wordSegmenterLocales));\n\t\tconst model = editor.getModel();\n\t\tconst selections = editor.getSelections();\n\t\tconst hasMulticursor = selections.length > 1;\n\t\tconst result = selections.map((sel) => {\n\t\t\tconst inPosition = new Position(sel.positionLineNumber, sel.positionColumn);\n\t\t\tconst outPosition = this._move(wordSeparators, model, inPosition, this._wordNavigationType, hasMulticursor);\n\t\t\treturn this._moveTo(sel, outPosition, this._inSelectionMode);\n\t\t});\n\n\t\tmodel.pushStackElement();\n\t\teditor._getViewModel().setCursorStates('moveWordCommand', CursorChangeReason.Explicit, result.map(r => CursorState.fromModelSelection(r)));\n\t\tif (result.length === 1) {\n\t\t\tconst pos = new Position(result[0].positionLineNumber, result[0].positionColumn);\n\t\t\teditor.revealPosition(pos, ScrollType.Smooth);\n\t\t}\n\t}\n\n\tprivate _moveTo(from: Selection, to: Position, inSelectionMode: boolean): Selection {\n\t\tif (inSelectionMode) {\n\t\t\t// move just position\n\t\t\treturn new Selection(\n\t\t\t\tfrom.selectionStartLineNumber,\n\t\t\t\tfrom.selectionStartColumn,\n\t\t\t\tto.lineNumber,\n\t\t\t\tto.column\n\t\t\t);\n\t\t} else {\n\t\t\t// move everything\n\t\t\treturn new Selection(\n\t\t\t\tto.lineNumber,\n\t\t\t\tto.column,\n\t\t\t\tto.lineNumber,\n\t\t\t\tto.column\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected abstract _move(wordSeparators: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position;\n}\n\nexport class WordLeftCommand extends MoveWordCommand {\n\tprotected _move(wordSeparators: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn WordOperations.moveWordLeft(wordSeparators, model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class WordRightCommand extends MoveWordCommand {\n\tprotected _move(wordSeparators: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn WordOperations.moveWordRight(wordSeparators, model, position, wordNavigationType);\n\t}\n}\n\nexport class CursorWordStartLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartLeft',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndLeft',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordStartFast,\n\t\t\tid: 'cursorWordLeft',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.LeftArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.LeftArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class CursorWordStartLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartLeftSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndLeftSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordStartFast,\n\t\t\tid: 'cursorWordLeftSelect',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.LeftArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyMod.Shift | KeyCode.LeftArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\n// Accessibility navigation commands should only be enabled on windows since they are tuned to what NVDA expects\nexport class CursorWordAccessibilityLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityLeft',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class CursorWordAccessibilityLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityLeftSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class CursorWordStartRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartRight',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndRight',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.RightArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.RightArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class CursorWordRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordRight',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordStartRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartRightSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndRightSelect',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.RightArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyMod.Shift | KeyCode.RightArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class CursorWordRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordRightSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordAccessibilityRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityRight',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class CursorWordAccessibilityRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityRightSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport interface DeleteWordOptions extends ICommandOptions {\n\twhitespaceHeuristics: boolean;\n\twordNavigationType: WordNavigationType;\n}\n\nexport abstract class DeleteWordCommand extends EditorCommand {\n\tprivate readonly _whitespaceHeuristics: boolean;\n\tprivate readonly _wordNavigationType: WordNavigationType;\n\n\tconstructor(opts: DeleteWordOptions) {\n\t\tsuper(opts);\n\t\tthis._whitespaceHeuristics = opts.whitespaceHeuristics;\n\t\tthis._wordNavigationType = opts.wordNavigationType;\n\t}\n\n\tpublic runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): void {\n\t\tconst languageConfigurationService = accessor?.get(ILanguageConfigurationService);\n\n\t\tif (!editor.hasModel() || !languageConfigurationService) {\n\t\t\treturn;\n\t\t}\n\t\tconst wordSeparators = getMapForWordSeparators(editor.getOption(EditorOption.wordSeparators), editor.getOption(EditorOption.wordSegmenterLocales));\n\t\tconst model = editor.getModel();\n\t\tconst selections = editor.getSelections();\n\t\tconst autoClosingBrackets = editor.getOption(EditorOption.autoClosingBrackets);\n\t\tconst autoClosingQuotes = editor.getOption(EditorOption.autoClosingQuotes);\n\t\tconst autoClosingPairs = languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getAutoClosingPairs();\n\t\tconst viewModel = editor._getViewModel();\n\n\t\tconst commands = selections.map((sel) => {\n\t\t\tconst deleteRange = this._delete({\n\t\t\t\twordSeparators,\n\t\t\t\tmodel,\n\t\t\t\tselection: sel,\n\t\t\t\twhitespaceHeuristics: this._whitespaceHeuristics,\n\t\t\t\tautoClosingDelete: editor.getOption(EditorOption.autoClosingDelete),\n\t\t\t\tautoClosingBrackets,\n\t\t\t\tautoClosingQuotes,\n\t\t\t\tautoClosingPairs,\n\t\t\t\tautoClosedCharacters: viewModel.getCursorAutoClosedCharacters(),\n\t\t\t}, this._wordNavigationType);\n\t\t\treturn new ReplaceCommand(deleteRange, '');\n\t\t});\n\n\t\teditor.pushUndoStop();\n\t\teditor.executeCommands(this.id, commands);\n\t\teditor.pushUndoStop();\n\t}\n\n\tprotected abstract _delete(ctx: DeleteWordContext, wordNavigationType: WordNavigationType): Range;\n}\n\nexport class DeleteWordLeftCommand extends DeleteWordCommand {\n\tprotected _delete(ctx: DeleteWordContext, wordNavigationType: WordNavigationType): Range {\n\t\tconst r = WordOperations.deleteWordLeft(ctx, wordNavigationType);\n\t\tif (r) {\n\t\t\treturn r;\n\t\t}\n\t\treturn new Range(1, 1, 1, 1);\n\t}\n}\n\nexport class DeleteWordRightCommand extends DeleteWordCommand {\n\tprotected _delete(ctx: DeleteWordContext, wordNavigationType: WordNavigationType): Range {\n\t\tconst r = WordOperations.deleteWordRight(ctx, wordNavigationType);\n\t\tif (r) {\n\t\t\treturn r;\n\t\t}\n\t\tconst lineCount = ctx.model.getLineCount();\n\t\tconst maxColumn = ctx.model.getLineMaxColumn(lineCount);\n\t\treturn new Range(lineCount, maxColumn, lineCount, maxColumn);\n\t}\n}\n\nexport class DeleteWordStartLeft extends DeleteWordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'deleteWordStartLeft',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordEndLeft extends DeleteWordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'deleteWordEndLeft',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordLeft extends DeleteWordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: true,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'deleteWordLeft',\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Backspace,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.Backspace },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class DeleteWordStartRight extends DeleteWordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'deleteWordStartRight',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordEndRight extends DeleteWordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'deleteWordEndRight',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordRight extends DeleteWordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'deleteWordRight',\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Delete,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.Delete },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class DeleteInsideWord extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'deleteInsideWord',\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tlabel: nls.localize2('deleteInsideWord', \"Delete Word\"),\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): void {\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst wordSeparators = getMapForWordSeparators(editor.getOption(EditorOption.wordSeparators), editor.getOption(EditorOption.wordSegmenterLocales));\n\t\tconst model = editor.getModel();\n\t\tconst selections = editor.getSelections();\n\n\t\tconst commands = selections.map((sel) => {\n\t\t\tconst deleteRange = WordOperations.deleteInsideWord(wordSeparators, model, sel);\n\t\t\treturn new ReplaceCommand(deleteRange, '');\n\t\t});\n\n\t\teditor.pushUndoStop();\n\t\teditor.executeCommands(this.id, commands);\n\t\teditor.pushUndoStop();\n\t}\n}\n\nregisterEditorCommand(new CursorWordStartLeft());\nregisterEditorCommand(new CursorWordEndLeft());\nregisterEditorCommand(new CursorWordLeft());\nregisterEditorCommand(new CursorWordStartLeftSelect());\nregisterEditorCommand(new CursorWordEndLeftSelect());\nregisterEditorCommand(new CursorWordLeftSelect());\nregisterEditorCommand(new CursorWordStartRight());\nregisterEditorCommand(new CursorWordEndRight());\nregisterEditorCommand(new CursorWordRight());\nregisterEditorCommand(new CursorWordStartRightSelect());\nregisterEditorCommand(new CursorWordEndRightSelect());\nregisterEditorCommand(new CursorWordRightSelect());\nregisterEditorCommand(new CursorWordAccessibilityLeft());\nregisterEditorCommand(new CursorWordAccessibilityLeftSelect());\nregisterEditorCommand(new CursorWordAccessibilityRight());\nregisterEditorCommand(new CursorWordAccessibilityRightSelect());\nregisterEditorCommand(new DeleteWordStartLeft());\nregisterEditorCommand(new DeleteWordEndLeft());\nregisterEditorCommand(new DeleteWordLeft());\nregisterEditorCommand(new DeleteWordStartRight());\nregisterEditorCommand(new DeleteWordEndRight());\nregisterEditorCommand(new DeleteWordRight());\nregisterEditorAction(DeleteInsideWord);\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/wordOperations/browser/wordOperations.ts"],"names":[],"mappings":"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","file":"wordOperations.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 { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport * as nls from '../../../../nls.js';\nimport { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessibility/common/accessibility.js';\nimport { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IsWindowsContext } from '../../../../platform/contextkey/common/contextkeys.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, ICommandOptions, registerEditorAction, registerEditorCommand, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { ReplaceCommand } from '../../../common/commands/replaceCommand.js';\nimport { EditorOption, EditorOptions } from '../../../common/config/editorOptions.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { getMapForWordSeparators, WordCharacterClassifier } from '../../../common/core/wordCharacterClassifier.js';\nimport { DeleteWordContext, WordNavigationType, WordOperations } from '../../../common/cursor/cursorWordOperations.js';\nimport { CursorState } from '../../../common/cursorCommon.js';\nimport { CursorChangeReason } from '../../../common/cursorEvents.js';\nimport { ScrollType } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { ILanguageConfigurationService } from '../../../common/languages/languageConfigurationRegistry.js';\nimport { ITextModel } from '../../../common/model.js';\n\nexport interface MoveWordOptions extends ICommandOptions {\n\tinSelectionMode: boolean;\n\twordNavigationType: WordNavigationType;\n}\n\nexport abstract class MoveWordCommand extends EditorCommand {\n\n\tprivate readonly _inSelectionMode: boolean;\n\tprivate readonly _wordNavigationType: WordNavigationType;\n\n\tconstructor(opts: MoveWordOptions) {\n\t\tsuper(opts);\n\t\tthis._inSelectionMode = opts.inSelectionMode;\n\t\tthis._wordNavigationType = opts.wordNavigationType;\n\t}\n\n\tpublic runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): void {\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst wordSeparators = getMapForWordSeparators(editor.getOption(EditorOption.wordSeparators), editor.getOption(EditorOption.wordSegmenterLocales));\n\t\tconst model = editor.getModel();\n\t\tconst selections = editor.getSelections();\n\t\tconst hasMulticursor = selections.length > 1;\n\t\tconst result = selections.map((sel) => {\n\t\t\tconst inPosition = new Position(sel.positionLineNumber, sel.positionColumn);\n\t\t\tconst outPosition = this._move(wordSeparators, model, inPosition, this._wordNavigationType, hasMulticursor);\n\t\t\treturn this._moveTo(sel, outPosition, this._inSelectionMode);\n\t\t});\n\n\t\tmodel.pushStackElement();\n\t\teditor._getViewModel().setCursorStates('moveWordCommand', CursorChangeReason.Explicit, result.map(r => CursorState.fromModelSelection(r)));\n\t\tif (result.length === 1) {\n\t\t\tconst pos = new Position(result[0].positionLineNumber, result[0].positionColumn);\n\t\t\teditor.revealPosition(pos, ScrollType.Smooth);\n\t\t}\n\t}\n\n\tprivate _moveTo(from: Selection, to: Position, inSelectionMode: boolean): Selection {\n\t\tif (inSelectionMode) {\n\t\t\t// move just position\n\t\t\treturn new Selection(\n\t\t\t\tfrom.selectionStartLineNumber,\n\t\t\t\tfrom.selectionStartColumn,\n\t\t\t\tto.lineNumber,\n\t\t\t\tto.column\n\t\t\t);\n\t\t} else {\n\t\t\t// move everything\n\t\t\treturn new Selection(\n\t\t\t\tto.lineNumber,\n\t\t\t\tto.column,\n\t\t\t\tto.lineNumber,\n\t\t\t\tto.column\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected abstract _move(wordSeparators: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position;\n}\n\nexport class WordLeftCommand extends MoveWordCommand {\n\tprotected _move(wordSeparators: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn WordOperations.moveWordLeft(wordSeparators, model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class WordRightCommand extends MoveWordCommand {\n\tprotected _move(wordSeparators: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn WordOperations.moveWordRight(wordSeparators, model, position, wordNavigationType);\n\t}\n}\n\nexport class CursorWordStartLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartLeft',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndLeft',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordStartFast,\n\t\t\tid: 'cursorWordLeft',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.LeftArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.LeftArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class CursorWordStartLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartLeftSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndLeftSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordStartFast,\n\t\t\tid: 'cursorWordLeftSelect',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.LeftArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyMod.Shift | KeyCode.LeftArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\n// Accessibility navigation commands should only be enabled on windows since they are tuned to what NVDA expects\nexport class CursorWordAccessibilityLeft extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityLeft',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class CursorWordAccessibilityLeftSelect extends WordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityLeftSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class CursorWordStartRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartRight',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndRight',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.RightArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.RightArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class CursorWordRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordRight',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordStartRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'cursorWordStartRightSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordEndRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordEndRightSelect',\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.textInputFocus, ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, IsWindowsContext)?.negate()),\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.RightArrow,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyMod.Shift | KeyCode.RightArrow },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class CursorWordRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'cursorWordRightSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n}\n\nexport class CursorWordAccessibilityRight extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: false,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityRight',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport class CursorWordAccessibilityRightSelect extends WordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\tinSelectionMode: true,\n\t\t\twordNavigationType: WordNavigationType.WordAccessibility,\n\t\t\tid: 'cursorWordAccessibilityRightSelect',\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tprotected override _move(wordCharacterClassifier: WordCharacterClassifier, model: ITextModel, position: Position, wordNavigationType: WordNavigationType, hasMulticursor: boolean): Position {\n\t\treturn super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue, wordCharacterClassifier.intlSegmenterLocales), model, position, wordNavigationType, hasMulticursor);\n\t}\n}\n\nexport interface DeleteWordOptions extends ICommandOptions {\n\twhitespaceHeuristics: boolean;\n\twordNavigationType: WordNavigationType;\n}\n\nexport abstract class DeleteWordCommand extends EditorCommand {\n\tprivate readonly _whitespaceHeuristics: boolean;\n\tprivate readonly _wordNavigationType: WordNavigationType;\n\n\tconstructor(opts: DeleteWordOptions) {\n\t\tsuper({ canTriggerInlineEdits: true, ...opts });\n\t\tthis._whitespaceHeuristics = opts.whitespaceHeuristics;\n\t\tthis._wordNavigationType = opts.wordNavigationType;\n\t}\n\n\tpublic runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): void {\n\t\tconst languageConfigurationService = accessor?.get(ILanguageConfigurationService);\n\n\t\tif (!editor.hasModel() || !languageConfigurationService) {\n\t\t\treturn;\n\t\t}\n\t\tconst wordSeparators = getMapForWordSeparators(editor.getOption(EditorOption.wordSeparators), editor.getOption(EditorOption.wordSegmenterLocales));\n\t\tconst model = editor.getModel();\n\t\tconst selections = editor.getSelections();\n\t\tconst autoClosingBrackets = editor.getOption(EditorOption.autoClosingBrackets);\n\t\tconst autoClosingQuotes = editor.getOption(EditorOption.autoClosingQuotes);\n\t\tconst autoClosingPairs = languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getAutoClosingPairs();\n\t\tconst viewModel = editor._getViewModel();\n\n\t\tconst commands = selections.map((sel) => {\n\t\t\tconst deleteRange = this._delete({\n\t\t\t\twordSeparators,\n\t\t\t\tmodel,\n\t\t\t\tselection: sel,\n\t\t\t\twhitespaceHeuristics: this._whitespaceHeuristics,\n\t\t\t\tautoClosingDelete: editor.getOption(EditorOption.autoClosingDelete),\n\t\t\t\tautoClosingBrackets,\n\t\t\t\tautoClosingQuotes,\n\t\t\t\tautoClosingPairs,\n\t\t\t\tautoClosedCharacters: viewModel.getCursorAutoClosedCharacters(),\n\t\t\t}, this._wordNavigationType);\n\t\t\treturn new ReplaceCommand(deleteRange, '');\n\t\t});\n\n\t\teditor.pushUndoStop();\n\t\teditor.executeCommands(this.id, commands);\n\t\teditor.pushUndoStop();\n\t}\n\n\tprotected abstract _delete(ctx: DeleteWordContext, wordNavigationType: WordNavigationType): Range;\n}\n\nexport class DeleteWordLeftCommand extends DeleteWordCommand {\n\tprotected _delete(ctx: DeleteWordContext, wordNavigationType: WordNavigationType): Range {\n\t\tconst r = WordOperations.deleteWordLeft(ctx, wordNavigationType);\n\t\tif (r) {\n\t\t\treturn r;\n\t\t}\n\t\treturn new Range(1, 1, 1, 1);\n\t}\n}\n\nexport class DeleteWordRightCommand extends DeleteWordCommand {\n\tprotected _delete(ctx: DeleteWordContext, wordNavigationType: WordNavigationType): Range {\n\t\tconst r = WordOperations.deleteWordRight(ctx, wordNavigationType);\n\t\tif (r) {\n\t\t\treturn r;\n\t\t}\n\t\tconst lineCount = ctx.model.getLineCount();\n\t\tconst maxColumn = ctx.model.getLineMaxColumn(lineCount);\n\t\treturn new Range(lineCount, maxColumn, lineCount, maxColumn);\n\t}\n}\n\nexport class DeleteWordStartLeft extends DeleteWordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'deleteWordStartLeft',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordEndLeft extends DeleteWordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'deleteWordEndLeft',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordLeft extends DeleteWordLeftCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: true,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'deleteWordLeft',\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Backspace,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.Backspace },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class DeleteWordStartRight extends DeleteWordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordStart,\n\t\t\tid: 'deleteWordStartRight',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordEndRight extends DeleteWordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: false,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'deleteWordEndRight',\n\t\t\tprecondition: EditorContextKeys.writable\n\t\t});\n\t}\n}\n\nexport class DeleteWordRight extends DeleteWordRightCommand {\n\tconstructor() {\n\t\tsuper({\n\t\t\twhitespaceHeuristics: true,\n\t\t\twordNavigationType: WordNavigationType.WordEnd,\n\t\t\tid: 'deleteWordRight',\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Delete,\n\t\t\t\tmac: { primary: KeyMod.Alt | KeyCode.Delete },\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport class DeleteInsideWord extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'deleteInsideWord',\n\t\t\tprecondition: EditorContextKeys.writable,\n\t\t\tlabel: nls.localize2('deleteInsideWord', \"Delete Word\"),\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor, args: unknown): void {\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst wordSeparators = getMapForWordSeparators(editor.getOption(EditorOption.wordSeparators), editor.getOption(EditorOption.wordSegmenterLocales));\n\t\tconst model = editor.getModel();\n\t\tconst selections = editor.getSelections();\n\n\t\tconst commands = selections.map((sel) => {\n\t\t\tconst deleteRange = WordOperations.deleteInsideWord(wordSeparators, model, sel);\n\t\t\treturn new ReplaceCommand(deleteRange, '');\n\t\t});\n\n\t\teditor.pushUndoStop();\n\t\teditor.executeCommands(this.id, commands);\n\t\teditor.pushUndoStop();\n\t}\n}\n\nregisterEditorCommand(new CursorWordStartLeft());\nregisterEditorCommand(new CursorWordEndLeft());\nregisterEditorCommand(new CursorWordLeft());\nregisterEditorCommand(new CursorWordStartLeftSelect());\nregisterEditorCommand(new CursorWordEndLeftSelect());\nregisterEditorCommand(new CursorWordLeftSelect());\nregisterEditorCommand(new CursorWordStartRight());\nregisterEditorCommand(new CursorWordEndRight());\nregisterEditorCommand(new CursorWordRight());\nregisterEditorCommand(new CursorWordStartRightSelect());\nregisterEditorCommand(new CursorWordEndRightSelect());\nregisterEditorCommand(new CursorWordRightSelect());\nregisterEditorCommand(new CursorWordAccessibilityLeft());\nregisterEditorCommand(new CursorWordAccessibilityLeftSelect());\nregisterEditorCommand(new CursorWordAccessibilityRight());\nregisterEditorCommand(new CursorWordAccessibilityRightSelect());\nregisterEditorCommand(new DeleteWordStartLeft());\nregisterEditorCommand(new DeleteWordEndLeft());\nregisterEditorCommand(new DeleteWordLeft());\nregisterEditorCommand(new DeleteWordStartRight());\nregisterEditorCommand(new DeleteWordEndRight());\nregisterEditorCommand(new DeleteWordRight());\nregisterEditorAction(DeleteInsideWord);\n"]}
|
|
@@ -475,7 +475,7 @@ let HoverWidget = class HoverWidget extends Widget {
|
|
|
475
475
|
// Position hover below the target
|
|
476
476
|
else if (this._hoverPosition === 2 /* HoverPosition.BELOW */) {
|
|
477
477
|
// Hover on bottom is going beyond window
|
|
478
|
-
if (target.bottom + this._hover.containerDomNode.
|
|
478
|
+
if (target.bottom + this._hover.containerDomNode.offsetHeight + hoverPointerOffset > this._targetWindow.innerHeight) {
|
|
479
479
|
this._hoverPosition = 3 /* HoverPosition.ABOVE */;
|
|
480
480
|
}
|
|
481
481
|
}
|