mirror of
https://github.com/VSCodeVim/Vim.git
synced 2024-09-20 08:37:45 +03:00
Fixed gCC
This commit is contained in:
parent
c5852e5d8c
commit
d81d6b84b1
@ -112,15 +112,6 @@ export class BaseAction {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public doesRepeatedOperatorApply(vimState: VimState, keysPressed: string[]) {
|
|
||||||
const prevAction = vimState.recordedState.actionsRun[vimState.recordedState.actionsRun.length - 1];
|
|
||||||
return this.isOperator && keysPressed.length === 1 && prevAction
|
|
||||||
&& this.modes.indexOf(vimState.currentMode) !== -1
|
|
||||||
// The previous action is the same as the one we're testing
|
|
||||||
&& prevAction.constructor === this.constructor
|
|
||||||
// The key pressed is the same as the previous action's last key.
|
|
||||||
&& compareKeypressSequence(prevAction.keysPressed.slice(-1), keysPressed);
|
|
||||||
}
|
|
||||||
|
|
||||||
public toString(): string {
|
public toString(): string {
|
||||||
return this.keys.join("");
|
return this.keys.join("");
|
||||||
@ -166,12 +157,6 @@ export class Actions {
|
|||||||
|
|
||||||
result.keysPressed = vimState.recordedState.actionKeys.slice(0);
|
result.keysPressed = vimState.recordedState.actionKeys.slice(0);
|
||||||
|
|
||||||
return result;
|
|
||||||
} else if (action.doesRepeatedOperatorApply(vimState, keysPressed)) {
|
|
||||||
const result = new type();
|
|
||||||
|
|
||||||
result.keysPressed = vimState.recordedState.actionKeys.slice(0);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,6 +147,8 @@ export abstract class BaseCommand extends BaseAction {
|
|||||||
|
|
||||||
canBeRepeatedWithDot = false;
|
canBeRepeatedWithDot = false;
|
||||||
|
|
||||||
|
// mustBeFirstKey = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run the command a single time.
|
* Run the command a single time.
|
||||||
*/
|
*/
|
||||||
@ -427,6 +429,7 @@ class CommandEsc extends BaseCommand {
|
|||||||
["<C-[>"],
|
["<C-[>"],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
mustBeFirstKey = false;
|
||||||
runsOnceForEveryCursor() { return false; }
|
runsOnceForEveryCursor() { return false; }
|
||||||
|
|
||||||
public async exec(position: Position, vimState: VimState): Promise<VimState> {
|
public async exec(position: Position, vimState: VimState): Promise<VimState> {
|
||||||
|
@ -23,6 +23,7 @@ class CommandEscInsertMode extends BaseCommand {
|
|||||||
["<C-[>"],
|
["<C-[>"],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
mustBeFirstKey = false;
|
||||||
runsOnceForEveryCursor() { return false; }
|
runsOnceForEveryCursor() { return false; }
|
||||||
|
|
||||||
public async exec(position: Position, vimState: VimState): Promise<VimState> {
|
public async exec(position: Position, vimState: VimState): Promise<VimState> {
|
||||||
|
@ -24,6 +24,9 @@ export class BaseOperator extends BaseAction {
|
|||||||
multicursorIndex: number | undefined = undefined;
|
multicursorIndex: number | undefined = undefined;
|
||||||
|
|
||||||
public doesActionApply(vimState: VimState, keysPressed: string[]): boolean {
|
public doesActionApply(vimState: VimState, keysPressed: string[]): boolean {
|
||||||
|
if (this.doesRepeatedOperatorApply(vimState, keysPressed)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (this.modes.indexOf(vimState.currentMode) === -1) { return false; }
|
if (this.modes.indexOf(vimState.currentMode) === -1) { return false; }
|
||||||
if (!compareKeypressSequence(this.keys, keysPressed)) { return false; }
|
if (!compareKeypressSequence(this.keys, keysPressed)) { return false; }
|
||||||
if (vimState.recordedState.actionsRun.length > 0 &&
|
if (vimState.recordedState.actionsRun.length > 0 &&
|
||||||
@ -43,6 +46,16 @@ export class BaseOperator extends BaseAction {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public doesRepeatedOperatorApply(vimState: VimState, keysPressed: string[]) {
|
||||||
|
const prevAction = vimState.recordedState.actionsRun[vimState.recordedState.actionsRun.length - 1];
|
||||||
|
return this.isOperator && keysPressed.length === 1 && prevAction
|
||||||
|
&& this.modes.indexOf(vimState.currentMode) !== -1
|
||||||
|
// The previous action is the same as the one we're testing
|
||||||
|
&& prevAction.constructor === this.constructor
|
||||||
|
// The key pressed is the same as the previous action's last key.
|
||||||
|
&& compareKeypressSequence(prevAction.keysPressed.slice(-1), keysPressed);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run this operator on a range, returning the new location of the cursor.
|
* Run this operator on a range, returning the new location of the cursor.
|
||||||
*/
|
*/
|
||||||
|
@ -680,7 +680,6 @@ export class ModeHandler implements vscode.Disposable {
|
|||||||
|
|
||||||
this._vimState.cursorPosition = newPosition;
|
this._vimState.cursorPosition = newPosition;
|
||||||
this._vimState.cursorStartPosition = newPosition;
|
this._vimState.cursorStartPosition = newPosition;
|
||||||
|
|
||||||
this._vimState.desiredColumn = newPosition.character;
|
this._vimState.desiredColumn = newPosition.character;
|
||||||
|
|
||||||
// start visual mode?
|
// start visual mode?
|
||||||
|
Loading…
Reference in New Issue
Block a user