From fa015d91fed7aa427716391b4ec172cf764f8d67 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 19 Aug 2017 13:30:37 -0700 Subject: [PATCH] Improve types and add bellStyle/bellSound --- fixtures/typings-test/typings-test.ts | 7 +++++++ src/Terminal.ts | 2 +- typings/xterm.d.ts | 16 ++++++++++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/fixtures/typings-test/typings-test.ts b/fixtures/typings-test/typings-test.ts index 0e82f788..e6fcd5a1 100644 --- a/fixtures/typings-test/typings-test.ts +++ b/fixtures/typings-test/typings-test.ts @@ -140,6 +140,8 @@ namespace methods_core { const r16: number = t.getOption('scrollback'); const r17: [number, number] = t.getOption('geometry'); const r18: (data: string) => void = t.getOption('handler'); + const r19: string = t.getOption('bellSound'); + const r20: string = t.getOption('bellStyle'); } { const t: Terminal = new Terminal(); @@ -161,6 +163,11 @@ namespace methods_core { t.setOption('scrollback', 1); t.setOption('geometry', [1, 1]); t.setOption('handler', (data: string) => console.log(data)); + t.setOption('bellSound', 'foo'); + t.setOption('bellStyle', 'none'); + t.setOption('bellStyle', 'visual'); + t.setOption('bellStyle', 'sound'); + t.setOption('bellStyle', 'both'); } } namespace scrolling { diff --git a/src/Terminal.ts b/src/Terminal.ts index ff42d139..686cffd8 100644 --- a/src/Terminal.ts +++ b/src/Terminal.ts @@ -149,7 +149,7 @@ const DEFAULT_OPTIONS: ITerminalOptions = { cursorBlink: false, cursorStyle: 'block', bellSound: BellSound, - bellStyle: null, + bellStyle: 'none', scrollback: 1000, screenKeys: false, debug: false, diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index ee7d68d8..c8df78fc 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -290,7 +290,7 @@ declare module 'xterm' { * Retrieves an option's value from the terminal. * @param key The option key. */ - getOption(key: 'cursorStyle' | 'termName'): string; + getOption(key: 'bellSound' | 'bellStyle' | 'cursorStyle' | 'termName'): string; /** * Retrieves an option's value from the terminal. * @param key The option key. @@ -322,7 +322,19 @@ declare module 'xterm' { * @param key The option key. * @param value The option value. */ - setOption(key: 'cursorStyle' | 'termName', value: string): void; + setOption(key: 'termName' | 'bellSound', value: string): void; + /** + * Sets an option on the terminal. + * @param key The option key. + * @param value The option value. + */ + setOption(key: 'bellStyle', value: 'none' | 'visual' | 'sound' | 'both'): void; + /** + * Sets an option on the terminal. + * @param key The option key. + * @param value The option value. + */ + setOption(key: 'cursorStyle', value: 'block' | 'underline' | 'bar'): void; /** * Sets an option on the terminal. * @param key The option key.