From 32c059af390d4dd5f494a72de6390b1c23ccb3cf Mon Sep 17 00:00:00 2001 From: Jun Han Date: Tue, 19 Jul 2016 19:34:57 +0800 Subject: [PATCH] [Terminal] Run entire text if selection is empty --- .../parts/terminal/electron-browser/terminalService.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts index 42dc3514f76..20225d5fbe5 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalService.ts @@ -116,9 +116,10 @@ export class TerminalService implements ITerminalService { public runSelectedText(): TPromise { return this.showAndGetTerminalPanel().then((terminalPanel) => { let editor = this.codeEditorService.getFocusedCodeEditor(); - let selection = editor.getModel().getValueInRange(editor.getSelection(), os.EOL === '\n' ? EndOfLinePreference.LF : EndOfLinePreference.CRLF); + let selection = editor.getSelection(); + let text = selection.isEmpty() ? editor.getValue() : editor.getModel().getValueInRange(selection, os.EOL === '\n' ? EndOfLinePreference.LF : EndOfLinePreference.CRLF); // Add a new line if one doesn't already exist so the text is executed - let text = selection + (selection.substr(selection.length - os.EOL.length) === os.EOL ? '' : os.EOL); + text = text + (text.substr(text.length - os.EOL.length) === os.EOL ? '' : os.EOL); this.terminalProcesses[this.activeTerminalIndex].process.send({ event: 'input', data: text