message: fixes U and u in visual block mode
diff: @@ -322,6 +322,27 @@ export class UpperCaseWithMotion extends UpperCaseOperator {
  public modes = [ModeName.Normal];
  }
  +@RegisterAction
  +class UpperCaseVisualBlockOperator extends BaseOperator {
  + public keys = ["U"];
  + public modes = [ModeName.VisualBlock];
  +
  + public async run(vimState: VimState, startPos: Position, endPos: Position): Promise<VimState> {
  + for (const { start, end } of Position.IterateLine(vimState)) {
  + const range = new vscode.Range(start, end);
  + let text = vimState.editor.document.getText(range);
  + await TextEditor.replace(range, text.toUpperCase());
  + }
  +
  + const cursorPosition = startPos.isBefore(endPos) ? startPos : endPos;
  + vimState.cursorPosition = cursorPosition;
  + vimState.cursorStartPosition = cursorPosition;
  + vimState.currentMode = ModeName.Normal;
  +
  + return vimState;
  + }
  +}
  +
  @RegisterAction
  export class LowerCaseOperator extends BaseOperator {
  public keys = ["u"];
  @@ -347,6 +368,27 @@ export class LowerCaseWithMotion extends LowerCaseOperator {
  }
  +@RegisterAction
  +class LowerCaseVisualBlockOperator extends BaseOperator {
  + public keys = ["u"];
  + public modes = [ModeName.VisualBlock];
  +
  + public async run(vimState: VimState, startPos: Position, endPos: Position): Promise<VimState> {
  + for (const { start, end } of Position.IterateLine(vimState)) {
  + const range = new vscode.Range(start, end);
  + let text = vimState.editor.document.getText(range);
  + await TextEditor.replace(range, text.toLowerCase());
  + }
  +
  + const cursorPosition = startPos.isBefore(endPos) ? startPos : endPos;
  + vimState.cursorPosition = cursorPosition;
  + vimState.cursorStartPosition = cursorPosition;
  + vimState.currentMode = ModeName.Normal;
  +
  + return vimState;
  + }
  +}
  +
  @RegisterAction
  class IndentOperator extends BaseOperator {
  modes = [ModeName.Normal];
  