| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- import { registerEditorCommand } from '../../../browser/editorExtensions.js';
- import { WordPartOperations } from '../../../common/cursor/cursorWordOperations.js';
- import { Range } from '../../../common/core/range.js';
- import { EditorContextKeys } from '../../../common/editorContextKeys.js';
- import { DeleteWordCommand, MoveWordCommand } from '../../wordOperations/browser/wordOperations.js';
- import { CommandsRegistry } from '../../../../platform/commands/common/commands.js';
- export class DeleteWordPartLeft extends DeleteWordCommand {
- constructor() {
- super({
- whitespaceHeuristics: true,
- wordNavigationType: 0 /* WordNavigationType.WordStart */,
- id: 'deleteWordPartLeft',
- precondition: EditorContextKeys.writable,
- kbOpts: {
- kbExpr: EditorContextKeys.textInputFocus,
- primary: 0,
- mac: { primary: 256 /* KeyMod.WinCtrl */ | 512 /* KeyMod.Alt */ | 1 /* KeyCode.Backspace */ },
- weight: 100 /* KeybindingWeight.EditorContrib */
- }
- });
- }
- _delete(ctx, wordNavigationType) {
- const r = WordPartOperations.deleteWordPartLeft(ctx);
- if (r) {
- return r;
- }
- return new Range(1, 1, 1, 1);
- }
- }
- export class DeleteWordPartRight extends DeleteWordCommand {
- constructor() {
- super({
- whitespaceHeuristics: true,
- wordNavigationType: 2 /* WordNavigationType.WordEnd */,
- id: 'deleteWordPartRight',
- precondition: EditorContextKeys.writable,
- kbOpts: {
- kbExpr: EditorContextKeys.textInputFocus,
- primary: 0,
- mac: { primary: 256 /* KeyMod.WinCtrl */ | 512 /* KeyMod.Alt */ | 20 /* KeyCode.Delete */ },
- weight: 100 /* KeybindingWeight.EditorContrib */
- }
- });
- }
- _delete(ctx, wordNavigationType) {
- const r = WordPartOperations.deleteWordPartRight(ctx);
- if (r) {
- return r;
- }
- const lineCount = ctx.model.getLineCount();
- const maxColumn = ctx.model.getLineMaxColumn(lineCount);
- return new Range(lineCount, maxColumn, lineCount, maxColumn);
- }
- }
- export class WordPartLeftCommand extends MoveWordCommand {
- _move(wordSeparators, model, position, wordNavigationType) {
- return WordPartOperations.moveWordPartLeft(wordSeparators, model, position);
- }
- }
- export class CursorWordPartLeft extends WordPartLeftCommand {
- constructor() {
- super({
- inSelectionMode: false,
- wordNavigationType: 0 /* WordNavigationType.WordStart */,
- id: 'cursorWordPartLeft',
- precondition: undefined,
- kbOpts: {
- kbExpr: EditorContextKeys.textInputFocus,
- primary: 0,
- mac: { primary: 256 /* KeyMod.WinCtrl */ | 512 /* KeyMod.Alt */ | 15 /* KeyCode.LeftArrow */ },
- weight: 100 /* KeybindingWeight.EditorContrib */
- }
- });
- }
- }
- // Register previous id for compatibility purposes
- CommandsRegistry.registerCommandAlias('cursorWordPartStartLeft', 'cursorWordPartLeft');
- export class CursorWordPartLeftSelect extends WordPartLeftCommand {
- constructor() {
- super({
- inSelectionMode: true,
- wordNavigationType: 0 /* WordNavigationType.WordStart */,
- id: 'cursorWordPartLeftSelect',
- precondition: undefined,
- kbOpts: {
- kbExpr: EditorContextKeys.textInputFocus,
- primary: 0,
- mac: { primary: 256 /* KeyMod.WinCtrl */ | 512 /* KeyMod.Alt */ | 1024 /* KeyMod.Shift */ | 15 /* KeyCode.LeftArrow */ },
- weight: 100 /* KeybindingWeight.EditorContrib */
- }
- });
- }
- }
- // Register previous id for compatibility purposes
- CommandsRegistry.registerCommandAlias('cursorWordPartStartLeftSelect', 'cursorWordPartLeftSelect');
- export class WordPartRightCommand extends MoveWordCommand {
- _move(wordSeparators, model, position, wordNavigationType) {
- return WordPartOperations.moveWordPartRight(wordSeparators, model, position);
- }
- }
- export class CursorWordPartRight extends WordPartRightCommand {
- constructor() {
- super({
- inSelectionMode: false,
- wordNavigationType: 2 /* WordNavigationType.WordEnd */,
- id: 'cursorWordPartRight',
- precondition: undefined,
- kbOpts: {
- kbExpr: EditorContextKeys.textInputFocus,
- primary: 0,
- mac: { primary: 256 /* KeyMod.WinCtrl */ | 512 /* KeyMod.Alt */ | 17 /* KeyCode.RightArrow */ },
- weight: 100 /* KeybindingWeight.EditorContrib */
- }
- });
- }
- }
- export class CursorWordPartRightSelect extends WordPartRightCommand {
- constructor() {
- super({
- inSelectionMode: true,
- wordNavigationType: 2 /* WordNavigationType.WordEnd */,
- id: 'cursorWordPartRightSelect',
- precondition: undefined,
- kbOpts: {
- kbExpr: EditorContextKeys.textInputFocus,
- primary: 0,
- mac: { primary: 256 /* KeyMod.WinCtrl */ | 512 /* KeyMod.Alt */ | 1024 /* KeyMod.Shift */ | 17 /* KeyCode.RightArrow */ },
- weight: 100 /* KeybindingWeight.EditorContrib */
- }
- });
- }
- }
- registerEditorCommand(new DeleteWordPartLeft());
- registerEditorCommand(new DeleteWordPartRight());
- registerEditorCommand(new CursorWordPartLeft());
- registerEditorCommand(new CursorWordPartLeftSelect());
- registerEditorCommand(new CursorWordPartRight());
- registerEditorCommand(new CursorWordPartRightSelect());
|