UNPKG

monaco-editor

Version:
49 lines (47 loc) 1.83 kB
import { registerEditorAction, EditorAction } from '../../../browser/editorExtensions.js'; import { EditorContextKeys } from '../../../common/editorContextKeys.js'; import { MoveCaretCommand } from './moveCaretCommand.js'; import { localize2 } from '../../../../nls.js'; /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ class MoveCaretAction extends EditorAction { constructor(left, opts) { super(opts); this.left = left; } run(accessor, editor) { if (!editor.hasModel()) { return; } const commands = []; const selections = editor.getSelections(); for (const selection of selections) { commands.push(new MoveCaretCommand(selection, this.left)); } editor.pushUndoStop(); editor.executeCommands(this.id, commands); editor.pushUndoStop(); } } class MoveCaretLeftAction extends MoveCaretAction { constructor() { super(true, { id: 'editor.action.moveCarretLeftAction', label: localize2(810, "Move Selected Text Left"), precondition: EditorContextKeys.writable }); } } class MoveCaretRightAction extends MoveCaretAction { constructor() { super(false, { id: 'editor.action.moveCarretRightAction', label: localize2(811, "Move Selected Text Right"), precondition: EditorContextKeys.writable }); } } registerEditorAction(MoveCaretLeftAction); registerEditorAction(MoveCaretRightAction);