message: Fix surround in visual line mode
  Fixes
diff: @@ -228,24 +228,9 @@ class CommandSurroundModeStartVisual extends BaseCommand {
  vimState.recordedState.surroundKeys.push('S');
  vimState.recordedState.surroundKeyIndexStart = vimState.keyHistory.length;
  - // Make sure cursor positions are ordered correctly for top->down or down->top selection
  - if (vimState.cursorStartPosition.line > vimState.cursorStopPosition.line) {
  - [vimState.cursorStopPosition, vimState.cursorStartPosition] = [
  - vimState.cursorStartPosition,
  - vimState.cursorStopPosition,
  - ];
  - }
  -
  - // Make sure start/end cursor positions are in order
  - if (
  - vimState.cursorStopPosition.line < vimState.cursorStopPosition.line ||
  - (vimState.cursorStopPosition.line === vimState.cursorStartPosition.line &&
  - vimState.cursorStopPosition.character < vimState.cursorStartPosition.character)
  - ) {
  - [vimState.cursorStopPosition, vimState.cursorStartPosition] = [
  - vimState.cursorStartPosition,
  - vimState.cursorStopPosition,
  - ];
  + let [start, end] = Position.sorted(vimState.cursorStartPosition, vimState.cursorStopPosition);
  + if (vimState.currentMode === Mode.VisualLine) {
  + [start, end] = [start.getLineBegin(), end.getLineEnd()];
  }
  vimState.surround = {
  @@ -253,14 +238,10 @@ class CommandSurroundModeStartVisual extends BaseCommand {
  target: undefined,
  operator: 'yank',
  replacement: undefined,
  - range: new Range(vimState.cursorStartPosition, vimState.cursorStopPosition),
  - isVisualLine: false,
  + range: new Range(start, end),
  + isVisualLine: vimState.currentMode === Mode.VisualLine,
  };
  - if (vimState.currentMode === Mode.VisualLine) {
  - vimState.surround.isVisualLine = true;
  - }
  -
  await vimState.setCurrentMode(Mode.SurroundInputMode);
  vimState.cursorStopPosition = vimState.cursorStartPosition;
  