Fix < and > with visual mode and .

This commit is contained in:
johnfn 2016-06-22 00:13:15 -07:00
parent cb0b2ff194
commit 08cc063bd9
6 changed files with 19 additions and 12 deletions

View File

@ -847,6 +847,8 @@ class IndentOperator extends BaseOperator {
keys = [">"];
public async run(vimState: VimState, start: Position, end: Position): Promise<VimState> {
vscode.window.activeTextEditor.selection = new vscode.Selection(start, end);
await vscode.commands.executeCommand("editor.action.indentLines");
vimState.currentMode = ModeName.Normal;
vimState.cursorPosition = vimState.cursorStartPosition;
@ -861,6 +863,8 @@ class OutdentOperator extends BaseOperator {
keys = ["<"];
public async run(vimState: VimState, start: Position, end: Position): Promise<VimState> {
vscode.window.activeTextEditor.selection = new vscode.Selection(start, end);
await vscode.commands.executeCommand("editor.action.outdentLines");
vimState.currentMode = ModeName.Normal;
vimState.cursorPosition = vimState.cursorStartPosition;

View File

@ -12,7 +12,6 @@ import { VisualLineMode } from './modeVisualLine';
import {
BaseMovement, BaseCommand, Actions, BaseAction,
BaseOperator, isIMovement,
CommandSearchForwards, CommandSearchBackwards,
KeypressState } from './../actions/actions';
import { Configuration } from '../configuration/configuration';
import { Position } from './../motion/position';

View File

@ -9,8 +9,7 @@ suite("Mode Normal", () => {
let modeHandler: ModeHandler = new ModeHandler();
let {
newTest,
newTestOnly
newTest
} = getTestingFunctions(modeHandler);
setup(async () => {

View File

@ -1,6 +1,6 @@
"use strict";
import { setupWorkspace, cleanUpWorkspace, assertEqual } from './../../testUtils';
import { setupWorkspace, cleanUpWorkspace } from './../../testUtils';
import { ModeName } from '../../../src/mode/mode';
import { ModeHandler } from '../../../src/mode/modeHandler';
import { getTestingFunctions } from '../../testSimplifier';
@ -9,8 +9,7 @@ suite("Mode Normal", () => {
let modeHandler: ModeHandler = new ModeHandler();
let {
newTest,
newTestOnly
newTest
} = getTestingFunctions(modeHandler);
setup(async () => {

View File

@ -1,6 +1,6 @@
"use strict";
import { setupWorkspace, cleanUpWorkspace, assertEqual } from './../../testUtils';
import { setupWorkspace, cleanUpWorkspace } from './../../testUtils';
import { ModeHandler } from '../../../src/mode/modeHandler';
import { getTestingFunctions } from '../../testSimplifier';
@ -8,8 +8,7 @@ suite("Dot Operator", () => {
let modeHandler: ModeHandler = new ModeHandler();
let {
newTest,
newTestOnly
newTest
} = getTestingFunctions(modeHandler);
setup(async () => {
@ -38,4 +37,12 @@ suite("Dot Operator", () => {
keysPressed: 'I!<esc>j.j.',
end: ['!one', '!two', '|!three']
});
newTest({
title: "Can repeat actions that require selections",
start: ['on|e', 'two'],
keysPressed: 'Vj>.',
end: [' one', ' two']
});
});

View File

@ -1,6 +1,6 @@
"use strict";
import { setupWorkspace, cleanUpWorkspace, assertEqual } from './../../testUtils';
import { setupWorkspace, cleanUpWorkspace } from './../../testUtils';
import { ModeHandler } from '../../../src/mode/modeHandler';
import { getTestingFunctions } from '../../testSimplifier';
@ -8,8 +8,7 @@ suite("Motions in Normal Mode", () => {
let modeHandler: ModeHandler = new ModeHandler();
let {
newTest,
newTestOnly
newTest
} = getTestingFunctions(modeHandler);
setup(async () => {