package org.ninjadev.multivim.commandparser.normalvisualcommands;
import java.io.IOException;
import java.util.EnumSet;
import org.ninjadev.multivim.Cursor;
import org.ninjadev.multivim.User;
import org.ninjadev.multivim.commandparser.NormalVisualFlag;
import org.ninjadev.multivim.movement.BackwardBigWord;
import org.ninjadev.multivim.movement.BackwardWord;
import org.ninjadev.multivim.movement.ForwardBigWord;
import org.ninjadev.multivim.movement.ForwardWord;
import com.googlecode.lanterna.input.Key;
public class WordCommand extends NormalVisualCommand{
public WordCommand(Key commandChar, EnumSet<NormalVisualFlag> flags, int arg) {
super(commandChar, flags, arg);
}
public void executeCommand(User user) throws IOException {
Cursor cursor = user.cursors.get(user.activeViewPort.getBuffer().bufferId);
switch(commandKey.getCharacter()){
case 'w':
new ForwardWord().move(cursor, 1, user.getOperator());
break;
case 'b':
new BackwardWord().move(cursor, 1, user.getOperator());
break;
case 'W':
new ForwardBigWord().move(cursor, 1, user.getOperator());
break;
case 'B':
new BackwardBigWord().move(cursor, 1, user.getOperator());
break;
default:
break;
}
}
}