Merge pull request #2062 from DanEEStar/bugfix/selecting-insert-mode

Bugfix #1951: text selection in insert mode
This commit is contained in:
Sean Kelly 2017-10-11 11:15:39 -07:00 committed by GitHub
commit c11bf8fc8b

View File

@ -882,11 +882,7 @@ class CommandOverrideCopy extends BaseCommand {
public async exec(position: Position, vimState: VimState): Promise<VimState> {
let text = '';
if (
vimState.currentMode === ModeName.Visual ||
vimState.currentMode === ModeName.Normal ||
vimState.currentMode === ModeName.Insert
) {
if (vimState.currentMode === ModeName.Visual || vimState.currentMode === ModeName.Normal) {
text = vimState.allCursors
.map(range => {
const start = Position.EarlierOf(range.start, range.stop);
@ -917,6 +913,12 @@ class CommandOverrideCopy extends BaseCommand {
for (const { line } of Position.IterateLine(vimState)) {
text += line + '\n';
}
} else if (vimState.currentMode === ModeName.Insert) {
text = vimState.editor.selections
.map(selection => {
return vimState.editor.document.getText(new vscode.Range(selection.start, selection.end));
})
.join('\n');
}
util.clipboardCopy(text);