{"version":3,"file":"static/js/539_548569e4931022cf75be.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/moveCaretCommand.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/transpose.js"],"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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar SelectionAnchorController_1;\nimport { alert } from '../../../../base/browser/ui/aria/aria.js';\nimport { MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { KeyChord } from '../../../../base/common/keyCodes.js';\nimport './anchorSelect.css';\nimport { EditorAction, registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { localize } from '../../../../nls.js';\nimport { IContextKeyService, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';\nexport const SelectionAnchorSet = new RawContextKey('selectionAnchorSet', false);\nlet SelectionAnchorController = SelectionAnchorController_1 = class SelectionAnchorController {\n static get(editor) {\n return editor.getContribution(SelectionAnchorController_1.ID);\n }\n constructor(editor, contextKeyService) {\n this.editor = editor;\n this.selectionAnchorSetContextKey = SelectionAnchorSet.bindTo(contextKeyService);\n this.modelChangeListener = editor.onDidChangeModel(() => this.selectionAnchorSetContextKey.reset());\n }\n setSelectionAnchor() {\n if (this.editor.hasModel()) {\n const position = this.editor.getPosition();\n this.editor.changeDecorations((accessor) => {\n if (this.decorationId) {\n accessor.removeDecoration(this.decorationId);\n }\n this.decorationId = accessor.addDecoration(Selection.fromPositions(position, position), {\n description: 'selection-anchor',\n stickiness: 1 /* TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */,\n hoverMessage: new MarkdownString().appendText(localize('selectionAnchor', \"Selection Anchor\")),\n className: 'selection-anchor'\n });\n });\n this.selectionAnchorSetContextKey.set(!!this.decorationId);\n alert(localize('anchorSet', \"Anchor set at {0}:{1}\", position.lineNumber, position.column));\n }\n }\n goToSelectionAnchor() {\n if (this.editor.hasModel() && this.decorationId) {\n const anchorPosition = this.editor.getModel().getDecorationRange(this.decorationId);\n if (anchorPosition) {\n this.editor.setPosition(anchorPosition.getStartPosition());\n }\n }\n }\n selectFromAnchorToCursor() {\n if (this.editor.hasModel() && this.decorationId) {\n const start = this.editor.getModel().getDecorationRange(this.decorationId);\n if (start) {\n const end = this.editor.getPosition();\n this.editor.setSelection(Selection.fromPositions(start.getStartPosition(), end));\n this.cancelSelectionAnchor();\n }\n }\n }\n cancelSelectionAnchor() {\n if (this.decorationId) {\n const decorationId = this.decorationId;\n this.editor.changeDecorations((accessor) => {\n accessor.removeDecoration(decorationId);\n this.decorationId = undefined;\n });\n this.selectionAnchorSetContextKey.set(false);\n }\n }\n dispose() {\n this.cancelSelectionAnchor();\n this.modelChangeListener.dispose();\n }\n};\nSelectionAnchorController.ID = 'editor.contrib.selectionAnchorController';\nSelectionAnchorController = SelectionAnchorController_1 = __decorate([\n __param(1, IContextKeyService)\n], SelectionAnchorController);\nclass SetSelectionAnchor extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.setSelectionAnchor',\n label: localize('setSelectionAnchor', \"Set Selection Anchor\"),\n alias: 'Set Selection Anchor',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.editorTextFocus,\n primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 32 /* KeyCode.KeyB */),\n weight: 100 /* KeybindingWeight.EditorContrib */\n }\n });\n }\n async run(_accessor, editor) {\n var _a;\n (_a = SelectionAnchorController.get(editor)) === null || _a === void 0 ? void 0 : _a.setSelectionAnchor();\n }\n}\nclass GoToSelectionAnchor extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.goToSelectionAnchor',\n label: localize('goToSelectionAnchor', \"Go to Selection Anchor\"),\n alias: 'Go to Selection Anchor',\n precondition: SelectionAnchorSet,\n });\n }\n async run(_accessor, editor) {\n var _a;\n (_a = SelectionAnchorController.get(editor)) === null || _a === void 0 ? void 0 : _a.goToSelectionAnchor();\n }\n}\nclass SelectFromAnchorToCursor extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.selectFromAnchorToCursor',\n label: localize('selectFromAnchorToCursor', \"Select from Anchor to Cursor\"),\n alias: 'Select from Anchor to Cursor',\n precondition: SelectionAnchorSet,\n kbOpts: {\n kbExpr: EditorContextKeys.editorTextFocus,\n primary: KeyChord(2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */, 2048 /* KeyMod.CtrlCmd */ | 41 /* KeyCode.KeyK */),\n weight: 100 /* KeybindingWeight.EditorContrib */\n }\n });\n }\n async run(_accessor, editor) {\n var _a;\n (_a = SelectionAnchorController.get(editor)) === null || _a === void 0 ? void 0 : _a.selectFromAnchorToCursor();\n }\n}\nclass CancelSelectionAnchor extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.cancelSelectionAnchor',\n label: localize('cancelSelectionAnchor', \"Cancel Selection Anchor\"),\n alias: 'Cancel Selection Anchor',\n precondition: SelectionAnchorSet,\n kbOpts: {\n kbExpr: EditorContextKeys.editorTextFocus,\n primary: 9 /* KeyCode.Escape */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n }\n });\n }\n async run(_accessor, editor) {\n var _a;\n (_a = SelectionAnchorController.get(editor)) === null || _a === void 0 ? void 0 : _a.cancelSelectionAnchor();\n }\n}\nregisterEditorContribution(SelectionAnchorController.ID, SelectionAnchorController, 4 /* EditorContributionInstantiation.Lazy */);\nregisterEditorAction(SetSelectionAnchor);\nregisterEditorAction(GoToSelectionAnchor);\nregisterEditorAction(SelectFromAnchorToCursor);\nregisterEditorAction(CancelSelectionAnchor);\n","/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { RunOnceScheduler } from '../../../../base/common/async.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport './bracketMatching.css';\nimport { EditorAction, registerEditorAction, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { OverviewRulerLane } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js';\nimport { registerColor } from '../../../../platform/theme/common/colorRegistry.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nconst overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', { dark: '#A0A0A0', light: '#A0A0A0', hcDark: '#A0A0A0', hcLight: '#A0A0A0' }, nls.localize('overviewRulerBracketMatchForeground', 'Overview ruler marker color for matching brackets.'));\nclass JumpToBracketAction extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.jumpToBracket',\n label: nls.localize('smartSelect.jumpBracket', \"Go to Bracket\"),\n alias: 'Go to Bracket',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.editorTextFocus,\n primary: 2048 /* KeyMod.CtrlCmd */ | 1024 /* KeyMod.Shift */ | 93 /* KeyCode.Backslash */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n }\n });\n }\n run(accessor, editor) {\n var _a;\n (_a = BracketMatchingController.get(editor)) === null || _a === void 0 ? void 0 : _a.jumpToBracket();\n }\n}\nclass SelectToBracketAction extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.selectToBracket',\n label: nls.localize('smartSelect.selectToBracket', \"Select to Bracket\"),\n alias: 'Select to Bracket',\n precondition: undefined,\n metadata: {\n description: nls.localize2('smartSelect.selectToBracketDescription', \"Select the text inside and including the brackets or curly braces\"),\n args: [{\n name: 'args',\n schema: {\n type: 'object',\n properties: {\n 'selectBrackets': {\n type: 'boolean',\n default: true\n }\n },\n }\n }]\n }\n });\n }\n run(accessor, editor, args) {\n var _a;\n let selectBrackets = true;\n if (args && args.selectBrackets === false) {\n selectBrackets = false;\n }\n (_a = BracketMatchingController.get(editor)) === null || _a === void 0 ? void 0 : _a.selectToBracket(selectBrackets);\n }\n}\nclass RemoveBracketsAction extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.removeBrackets',\n label: nls.localize('smartSelect.removeBrackets', \"Remove Brackets\"),\n alias: 'Remove Brackets',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.editorTextFocus,\n primary: 2048 /* KeyMod.CtrlCmd */ | 512 /* KeyMod.Alt */ | 1 /* KeyCode.Backspace */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n }\n });\n }\n run(accessor, editor) {\n var _a;\n (_a = BracketMatchingController.get(editor)) === null || _a === void 0 ? void 0 : _a.removeBrackets(this.id);\n }\n}\nclass BracketsData {\n constructor(position, brackets, options) {\n this.position = position;\n this.brackets = brackets;\n this.options = options;\n }\n}\nexport class BracketMatchingController extends Disposable {\n static get(editor) {\n return editor.getContribution(BracketMatchingController.ID);\n }\n constructor(editor) {\n super();\n this._editor = editor;\n this._lastBracketsData = [];\n this._lastVersionId = 0;\n this._decorations = this._editor.createDecorationsCollection();\n this._updateBracketsSoon = this._register(new RunOnceScheduler(() => this._updateBrackets(), 50));\n this._matchBrackets = this._editor.getOption(72 /* EditorOption.matchBrackets */);\n this._updateBracketsSoon.schedule();\n this._register(editor.onDidChangeCursorPosition((e) => {\n if (this._matchBrackets === 'never') {\n // Early exit if nothing needs to be done!\n // Leave some form of early exit check here if you wish to continue being a cursor position change listener ;)\n return;\n }\n this._updateBracketsSoon.schedule();\n }));\n this._register(editor.onDidChangeModelContent((e) => {\n this._updateBracketsSoon.schedule();\n }));\n this._register(editor.onDidChangeModel((e) => {\n this._lastBracketsData = [];\n this._updateBracketsSoon.schedule();\n }));\n this._register(editor.onDidChangeModelLanguageConfiguration((e) => {\n this._lastBracketsData = [];\n this._updateBracketsSoon.schedule();\n }));\n this._register(editor.onDidChangeConfiguration((e) => {\n if (e.hasChanged(72 /* EditorOption.matchBrackets */)) {\n this._matchBrackets = this._editor.getOption(72 /* EditorOption.matchBrackets */);\n this._decorations.clear();\n this._lastBracketsData = [];\n this._lastVersionId = 0;\n this._updateBracketsSoon.schedule();\n }\n }));\n this._register(editor.onDidBlurEditorWidget(() => {\n this._updateBracketsSoon.schedule();\n }));\n this._register(editor.onDidFocusEditorWidget(() => {\n this._updateBracketsSoon.schedule();\n }));\n }\n jumpToBracket() {\n if (!this._editor.hasModel()) {\n return;\n }\n const model = this._editor.getModel();\n const newSelections = this._editor.getSelections().map(selection => {\n const position = selection.getStartPosition();\n // find matching brackets if position is on a bracket\n const brackets = model.bracketPairs.matchBracket(position);\n let newCursorPosition = null;\n if (brackets) {\n if (brackets[0].containsPosition(position) && !brackets[1].containsPosition(position)) {\n newCursorPosition = brackets[1].getStartPosition();\n }\n else if (brackets[1].containsPosition(position)) {\n newCursorPosition = brackets[0].getStartPosition();\n }\n }\n else {\n // find the enclosing brackets if the position isn't on a matching bracket\n const enclosingBrackets = model.bracketPairs.findEnclosingBrackets(position);\n if (enclosingBrackets) {\n newCursorPosition = enclosingBrackets[1].getStartPosition();\n }\n else {\n // no enclosing brackets, try the very first next bracket\n const nextBracket = model.bracketPairs.findNextBracket(position);\n if (nextBracket && nextBracket.range) {\n newCursorPosition = nextBracket.range.getStartPosition();\n }\n }\n }\n if (newCursorPosition) {\n return new Selection(newCursorPosition.lineNumber, newCursorPosition.column, newCursorPosition.lineNumber, newCursorPosition.column);\n }\n return new Selection(position.lineNumber, position.column, position.lineNumber, position.column);\n });\n this._editor.setSelections(newSelections);\n this._editor.revealRange(newSelections[0]);\n }\n selectToBracket(selectBrackets) {\n if (!this._editor.hasModel()) {\n return;\n }\n const model = this._editor.getModel();\n const newSelections = [];\n this._editor.getSelections().forEach(selection => {\n const position = selection.getStartPosition();\n let brackets = model.bracketPairs.matchBracket(position);\n if (!brackets) {\n brackets = model.bracketPairs.findEnclosingBrackets(position);\n if (!brackets) {\n const nextBracket = model.bracketPairs.findNextBracket(position);\n if (nextBracket && nextBracket.range) {\n brackets = model.bracketPairs.matchBracket(nextBracket.range.getStartPosition());\n }\n }\n }\n let selectFrom = null;\n let selectTo = null;\n if (brackets) {\n brackets.sort(Range.compareRangesUsingStarts);\n const [open, close] = brackets;\n selectFrom = selectBrackets ? open.getStartPosition() : open.getEndPosition();\n selectTo = selectBrackets ? close.getEndPosition() : close.getStartPosition();\n if (close.containsPosition(position)) {\n // select backwards if the cursor was on the closing bracket\n const tmp = selectFrom;\n selectFrom = selectTo;\n selectTo = tmp;\n }\n }\n if (selectFrom && selectTo) {\n newSelections.push(new Selection(selectFrom.lineNumber, selectFrom.column, selectTo.lineNumber, selectTo.column));\n }\n });\n if (newSelections.length > 0) {\n this._editor.setSelections(newSelections);\n this._editor.revealRange(newSelections[0]);\n }\n }\n removeBrackets(editSource) {\n if (!this._editor.hasModel()) {\n return;\n }\n const model = this._editor.getModel();\n this._editor.getSelections().forEach((selection) => {\n const position = selection.getPosition();\n let brackets = model.bracketPairs.matchBracket(position);\n if (!brackets) {\n brackets = model.bracketPairs.findEnclosingBrackets(position);\n }\n if (brackets) {\n this._editor.pushUndoStop();\n this._editor.executeEdits(editSource, [\n { range: brackets[0], text: '' },\n { range: brackets[1], text: '' }\n ]);\n this._editor.pushUndoStop();\n }\n });\n }\n _updateBrackets() {\n if (this._matchBrackets === 'never') {\n return;\n }\n this._recomputeBrackets();\n const newDecorations = [];\n let newDecorationsLen = 0;\n for (const bracketData of this._lastBracketsData) {\n const brackets = bracketData.brackets;\n if (brackets) {\n newDecorations[newDecorationsLen++] = { range: brackets[0], options: bracketData.options };\n newDecorations[newDecorationsLen++] = { range: brackets[1], options: bracketData.options };\n }\n }\n this._decorations.set(newDecorations);\n }\n _recomputeBrackets() {\n if (!this._editor.hasModel() || !this._editor.hasWidgetFocus()) {\n // no model or no focus => no brackets!\n this._lastBracketsData = [];\n this._lastVersionId = 0;\n return;\n }\n const selections = this._editor.getSelections();\n if (selections.length > 100) {\n // no bracket matching for high numbers of selections\n this._lastBracketsData = [];\n this._lastVersionId = 0;\n return;\n }\n const model = this._editor.getModel();\n const versionId = model.getVersionId();\n let previousData = [];\n if (this._lastVersionId === versionId) {\n // use the previous data only if the model is at the same version id\n previousData = this._lastBracketsData;\n }\n const positions = [];\n let positionsLen = 0;\n for (let i = 0, len = selections.length; i < len; i++) {\n const selection = selections[i];\n if (selection.isEmpty()) {\n // will bracket match a cursor only if the selection is collapsed\n positions[positionsLen++] = selection.getStartPosition();\n }\n }\n // sort positions for `previousData` cache hits\n if (positions.length > 1) {\n positions.sort(Position.compare);\n }\n const newData = [];\n let newDataLen = 0;\n let previousIndex = 0;\n const previousLen = previousData.length;\n for (let i = 0, len = positions.length; i < len; i++) {\n const position = positions[i];\n while (previousIndex < previousLen && previousData[previousIndex].position.isBefore(position)) {\n previousIndex++;\n }\n if (previousIndex < previousLen && previousData[previousIndex].position.equals(position)) {\n newData[newDataLen++] = previousData[previousIndex];\n }\n else {\n let brackets = model.bracketPairs.matchBracket(position, 20 /* give at most 20ms to compute */);\n let options = BracketMatchingController._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;\n if (!brackets && this._matchBrackets === 'always') {\n brackets = model.bracketPairs.findEnclosingBrackets(position, 20 /* give at most 20ms to compute */);\n options = BracketMatchingController._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER;\n }\n newData[newDataLen++] = new BracketsData(position, brackets, options);\n }\n }\n this._lastBracketsData = newData;\n this._lastVersionId = versionId;\n }\n}\nBracketMatchingController.ID = 'editor.contrib.bracketMatchingController';\nBracketMatchingController._DECORATION_OPTIONS_WITH_OVERVIEW_RULER = ModelDecorationOptions.register({\n description: 'bracket-match-overview',\n stickiness: 1 /* TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */,\n className: 'bracket-match',\n overviewRuler: {\n color: themeColorFromId(overviewRulerBracketMatchForeground),\n position: OverviewRulerLane.Center\n }\n});\nBracketMatchingController._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER = ModelDecorationOptions.register({\n description: 'bracket-match-no-overview',\n stickiness: 1 /* TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */,\n className: 'bracket-match'\n});\nregisterEditorContribution(BracketMatchingController.ID, BracketMatchingController, 1 /* EditorContributionInstantiation.AfterFirstRender */);\nregisterEditorAction(SelectToBracketAction);\nregisterEditorAction(JumpToBracketAction);\nregisterEditorAction(RemoveBracketsAction);\n// Go to menu\nMenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {\n group: '5_infile_nav',\n command: {\n id: 'editor.action.jumpToBracket',\n title: nls.localize({ key: 'miGoToBracket', comment: ['&& denotes a mnemonic'] }, \"Go to &&Bracket\")\n },\n order: 2\n});\n","/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { Range } from '../../../common/core/range.js';\nimport { Selection } from '../../../common/core/selection.js';\nexport class MoveCaretCommand {\n constructor(selection, isMovingLeft) {\n this._selection = selection;\n this._isMovingLeft = isMovingLeft;\n }\n getEditOperations(model, builder) {\n if (this._selection.startLineNumber !== this._selection.endLineNumber || this._selection.isEmpty()) {\n return;\n }\n const lineNumber = this._selection.startLineNumber;\n const startColumn = this._selection.startColumn;\n const endColumn = this._selection.endColumn;\n if (this._isMovingLeft && startColumn === 1) {\n return;\n }\n if (!this._isMovingLeft && endColumn === model.getLineMaxColumn(lineNumber)) {\n return;\n }\n if (this._isMovingLeft) {\n const rangeBefore = new Range(lineNumber, startColumn - 1, lineNumber, startColumn);\n const charBefore = model.getValueInRange(rangeBefore);\n builder.addEditOperation(rangeBefore, null);\n builder.addEditOperation(new Range(lineNumber, endColumn, lineNumber, endColumn), charBefore);\n }\n else {\n const rangeAfter = new Range(lineNumber, endColumn, lineNumber, endColumn + 1);\n const charAfter = model.getValueInRange(rangeAfter);\n builder.addEditOperation(rangeAfter, null);\n builder.addEditOperation(new Range(lineNumber, startColumn, lineNumber, startColumn), charAfter);\n }\n }\n computeCursorState(model, helper) {\n if (this._isMovingLeft) {\n return new Selection(this._selection.startLineNumber, this._selection.startColumn - 1, this._selection.endLineNumber, this._selection.endColumn - 1);\n }\n else {\n return new Selection(this._selection.startLineNumber, this._selection.startColumn + 1, this._selection.endLineNumber, this._selection.endColumn + 1);\n }\n }\n}\n","/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { EditorAction, registerEditorAction } from '../../../browser/editorExtensions.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { MoveCaretCommand } from './moveCaretCommand.js';\nimport * as nls from '../../../../nls.js';\nclass MoveCaretAction extends EditorAction {\n constructor(left, opts) {\n super(opts);\n this.left = left;\n }\n run(accessor, editor) {\n if (!editor.hasModel()) {\n return;\n }\n const commands = [];\n const selections = editor.getSelections();\n for (const selection of selections) {\n commands.push(new MoveCaretCommand(selection, this.left));\n }\n editor.pushUndoStop();\n editor.executeCommands(this.id, commands);\n editor.pushUndoStop();\n }\n}\nclass MoveCaretLeftAction extends MoveCaretAction {\n constructor() {\n super(true, {\n id: 'editor.action.moveCarretLeftAction',\n label: nls.localize('caret.moveLeft', \"Move Selected Text Left\"),\n alias: 'Move Selected Text Left',\n precondition: EditorContextKeys.writable\n });\n }\n}\nclass MoveCaretRightAction extends MoveCaretAction {\n constructor() {\n super(false, {\n id: 'editor.action.moveCarretRightAction',\n label: nls.localize('caret.moveRight', \"Move Selected Text Right\"),\n alias: 'Move Selected Text Right',\n precondition: EditorContextKeys.writable\n });\n }\n}\nregisterEditorAction(MoveCaretLeftAction);\nregisterEditorAction(MoveCaretRightAction);\n","/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { EditorAction, registerEditorAction } from '../../../browser/editorExtensions.js';\nimport { ReplaceCommand } from '../../../common/commands/replaceCommand.js';\nimport { MoveOperations } from '../../../common/cursor/cursorMoveOperations.js';\nimport { Range } from '../../../common/core/range.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport * as nls from '../../../../nls.js';\nclass TransposeLettersAction extends EditorAction {\n constructor() {\n super({\n id: 'editor.action.transposeLetters',\n label: nls.localize('transposeLetters.label', \"Transpose Letters\"),\n alias: 'Transpose Letters',\n precondition: EditorContextKeys.writable,\n kbOpts: {\n kbExpr: EditorContextKeys.textInputFocus,\n primary: 0,\n mac: {\n primary: 256 /* KeyMod.WinCtrl */ | 50 /* KeyCode.KeyT */\n },\n weight: 100 /* KeybindingWeight.EditorContrib */\n }\n });\n }\n run(accessor, editor) {\n if (!editor.hasModel()) {\n return;\n }\n const model = editor.getModel();\n const commands = [];\n const selections = editor.getSelections();\n for (const selection of selections) {\n if (!selection.isEmpty()) {\n continue;\n }\n const lineNumber = selection.startLineNumber;\n const column = selection.startColumn;\n const lastColumn = model.getLineMaxColumn(lineNumber);\n if (lineNumber === 1 && (column === 1 || (column === 2 && lastColumn === 2))) {\n // at beginning of file, nothing to do\n continue;\n }\n // handle special case: when at end of line, transpose left two chars\n // otherwise, transpose left and right chars\n const endPosition = (column === lastColumn) ?\n selection.getPosition() :\n MoveOperations.rightPosition(model, selection.getPosition().lineNumber, selection.getPosition().column);\n const middlePosition = MoveOperations.leftPosition(model, endPosition);\n const beginPosition = MoveOperations.leftPosition(model, middlePosition);\n const leftChar = model.getValueInRange(Range.fromPositions(beginPosition, middlePosition));\n const rightChar = model.getValueInRange(Range.fromPositions(middlePosition, endPosition));\n const replaceRange = Range.fromPositions(beginPosition, endPosition);\n commands.push(new ReplaceCommand(replaceRange, rightChar + leftChar));\n }\n if (commands.length > 0) {\n editor.pushUndoStop();\n editor.executeCommands(this.id, commands);\n editor.pushUndoStop();\n }\n }\n}\nregisterEditorAction(TransposeLettersAction);\n"],"names":["SelectionAnchorController_1","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","SelectionAnchorSet","SelectionAnchorController","get","editor","getContribution","ID","constructor","contextKeyService","this","selectionAnchorSetContextKey","bindTo","modelChangeListener","onDidChangeModel","reset","setSelectionAnchor","hasModel","position","getPosition","changeDecorations","accessor","decorationId","removeDecoration","addDecoration","description","stickiness","hoverMessage","appendText","className","set","lineNumber","column","goToSelectionAnchor","anchorPosition","getModel","getDecorationRange","setPosition","getStartPosition","selectFromAnchorToCursor","start","end","setSelection","cancelSelectionAnchor","undefined","dispose","SetSelectionAnchor","super","id","label","alias","precondition","kbOpts","kbExpr","primary","weight","run","_accessor","_a","GoToSelectionAnchor","SelectFromAnchorToCursor","CancelSelectionAnchor","overviewRulerBracketMatchForeground","dark","light","hcDark","hcLight","JumpToBracketAction","BracketMatchingController","jumpToBracket","SelectToBracketAction","metadata","args","name","schema","type","properties","default","selectBrackets","selectToBracket","RemoveBracketsAction","removeBrackets","BracketsData","brackets","options","_editor","_lastBracketsData","_lastVersionId","_decorations","createDecorationsCollection","_updateBracketsSoon","_register","_updateBrackets","_matchBrackets","getOption","schedule","onDidChangeCursorPosition","e","onDidChangeModelContent","onDidChangeModelLanguageConfiguration","onDidChangeConfiguration","hasChanged","clear","onDidBlurEditorWidget","onDidFocusEditorWidget","model","newSelections","getSelections","map","selection","bracketPairs","matchBracket","newCursorPosition","containsPosition","enclosingBrackets","findEnclosingBrackets","nextBracket","findNextBracket","range","setSelections","revealRange","forEach","selectFrom","selectTo","sort","open","close","getEndPosition","tmp","push","editSource","pushUndoStop","executeEdits","text","_recomputeBrackets","newDecorations","newDecorationsLen","bracketData","hasWidgetFocus","selections","versionId","getVersionId","previousData","positions","positionsLen","len","isEmpty","newData","newDataLen","previousIndex","previousLen","isBefore","equals","_DECORATION_OPTIONS_WITH_OVERVIEW_RULER","_DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER","overviewRuler","color","group","command","title","comment","order","MoveCaretCommand","isMovingLeft","_selection","_isMovingLeft","getEditOperations","builder","startLineNumber","endLineNumber","startColumn","endColumn","getLineMaxColumn","rangeBefore","charBefore","getValueInRange","addEditOperation","rangeAfter","charAfter","computeCursorState","helper","MoveCaretAction","left","opts","commands","executeCommands","nls","TransposeLettersAction","mac","lastColumn","endPosition","middlePosition","beginPosition","leftChar","rightChar","replaceRange"],"sourceRoot":""}