Skip to content

Commit 99de97f

Browse files
authoredJul 8, 2016
Merge pull request #8868 from chrmarti/chrmarti/pasteol
Fixes #7346: Paste native EOL
2 parents 934fa0b + f4b0736 commit 99de97f

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed
 

‎src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import DOM = require('vs/base/browser/dom');
77
import lifecycle = require('vs/base/common/lifecycle');
88
import nls = require('vs/nls');
9+
import os = require('os');
910
import platform = require('vs/base/common/platform');
1011
import xterm = require('xterm');
1112
import {Dimension} from 'vs/base/browser/builder';
@@ -15,6 +16,9 @@ import {ITerminalProcess, ITerminalService} from 'vs/workbench/parts/terminal/el
1516
import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
1617

1718
export class TerminalInstance {
19+
20+
private static eolRegex = /\r?\n/g;
21+
1822
private isExiting: boolean = false;
1923

2024
private toDispose: lifecycle.IDisposable[];
@@ -45,7 +49,7 @@ export class TerminalInstance {
4549
this.xterm.on('data', (data) => {
4650
this.terminalProcess.process.send({
4751
event: 'input',
48-
data: data
52+
data: this.sanitizeInput(data)
4953
});
5054
return false;
5155
});
@@ -84,6 +88,10 @@ export class TerminalInstance {
8488
this.parentDomElement.appendChild(this.wrapperElement);
8589
}
8690

91+
private sanitizeInput(data: any) {
92+
return typeof data === 'string' ? data.replace(TerminalInstance.eolRegex, os.EOL) : data;
93+
}
94+
8795
public layout(dimension: Dimension): void {
8896
if (!this.font || !this.font.charWidth || !this.font.charHeight) {
8997
return;

0 commit comments

Comments
 (0)
Please sign in to comment.