diff --git a/.travis.yml b/.travis.yml index 1878c3a4..7a37af1e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: node_js os: - linux - - osx node_js: - 6 before_install: diff --git a/gulpfile.js b/gulpfile.js index 4a4be8b0..7a65d7f2 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -52,9 +52,14 @@ gulp.task('tsc', function () { let tsProjectAddon = ts.createProject(`./src/addons/${addon}/tsconfig.json`); let tsResultAddon = tsProjectAddon.src().pipe(sourcemaps.init()).pipe(tsProjectAddon()); - let tscAddon = tsResultAddon.js - .pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''})) - .pipe(gulp.dest(`${outDir}/addons/${addon}`)); + let tscAddon = merge( + tsResultAddon.js + .pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''})) + .pipe(gulp.dest(`${outDir}/addons/${addon}`)), + tsResultAddon.dts + .pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''})) + .pipe(gulp.dest(`${outDir}/addons/${addon}`)) + ) return tscAddon; }); diff --git a/src/Terminal.ts b/src/Terminal.ts index 2280be8e..d9bb27d1 100644 --- a/src/Terminal.ts +++ b/src/Terminal.ts @@ -1573,6 +1573,8 @@ export class Terminal extends EventEmitter implements ITerminal, IInputHandlingT // page up if (ev.shiftKey) { result.scrollLines = -(this.rows - 1); + } else if (modifiers) { + result.key = C0.ESC + '[5;' + (modifiers + 1) + '~'; } else { result.key = C0.ESC + '[5~'; } @@ -1581,6 +1583,8 @@ export class Terminal extends EventEmitter implements ITerminal, IInputHandlingT // page down if (ev.shiftKey) { result.scrollLines = this.rows - 1; + } else if (modifiers) { + result.key = C0.ESC + '[6;' + (modifiers + 1) + '~'; } else { result.key = C0.ESC + '[6~'; } diff --git a/src/addons/attach/tsconfig.json b/src/addons/attach/tsconfig.json index 97722324..a4e8e78b 100644 --- a/src/addons/attach/tsconfig.json +++ b/src/addons/attach/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/attach/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/addons/fit/tsconfig.json b/src/addons/fit/tsconfig.json index 949f8b60..78b3c410 100644 --- a/src/addons/fit/tsconfig.json +++ b/src/addons/fit/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/fit/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/addons/fullscreen/tsconfig.json b/src/addons/fullscreen/tsconfig.json index b04144c1..35ecb7ce 100644 --- a/src/addons/fullscreen/tsconfig.json +++ b/src/addons/fullscreen/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/fullscreen/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/addons/search/tsconfig.json b/src/addons/search/tsconfig.json index 7f72e47f..d1c3d7e0 100644 --- a/src/addons/search/tsconfig.json +++ b/src/addons/search/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/search/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/addons/terminado/tsconfig.json b/src/addons/terminado/tsconfig.json index 775b20d5..84e3ac32 100644 --- a/src/addons/terminado/tsconfig.json +++ b/src/addons/terminado/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/terminado/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/addons/winptyCompat/tsconfig.json b/src/addons/winptyCompat/tsconfig.json index e15a09a8..a51f7332 100644 --- a/src/addons/winptyCompat/tsconfig.json +++ b/src/addons/winptyCompat/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/winptyCompat/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/addons/zmodem/tsconfig.json b/src/addons/zmodem/tsconfig.json index 9ded72e5..abae1238 100644 --- a/src/addons/zmodem/tsconfig.json +++ b/src/addons/zmodem/tsconfig.json @@ -5,6 +5,7 @@ "rootDir": ".", "outDir": "../../../lib/addons/zmodem/", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true } } diff --git a/src/renderer/CursorRenderLayer.ts b/src/renderer/CursorRenderLayer.ts index 2706085f..6ac489fc 100644 --- a/src/renderer/CursorRenderLayer.ts +++ b/src/renderer/CursorRenderLayer.ts @@ -108,9 +108,10 @@ export class CursorRenderLayer extends BaseRenderLayer { } public onGridChanged(terminal: ITerminal, startRow: number, endRow: number): void { - // Only render if the animation frame is not active if (!this._cursorBlinkStateManager || this._cursorBlinkStateManager.isPaused) { this._render(terminal, false); + } else { + this._cursorBlinkStateManager.restartBlinkAnimation(terminal); } } diff --git a/tsconfig.json b/tsconfig.json index 38bfd2fa..a3aa790c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,8 @@ "rootDir": "src", "outDir": "lib", "sourceMap": true, - "removeComments": true + "removeComments": true, + "declaration": true }, "include": [ "src/**/*"