diff --git a/ansi/cursor_position.ts b/ansi/cursor_position.ts index 4d568a42..fa3a9bf8 100644 --- a/ansi/cursor_position.ts +++ b/ansi/cursor_position.ts @@ -10,8 +10,8 @@ export interface Cursor { export interface CursorPositionOptions { writer?: Deno.WriterSync; reader?: Deno.ReaderSync & { - readonly rid: number; setRaw(mode: boolean, options?: Deno.SetRawOptions): void; + isTerminal(): boolean; }; } diff --git a/ansi/tty.ts b/ansi/tty.ts index e4dc6904..e1c72792 100644 --- a/ansi/tty.ts +++ b/ansi/tty.ts @@ -6,8 +6,8 @@ import { Cursor, getCursorPosition } from "./cursor_position.ts"; export interface TtyOptions { writer?: Deno.WriterSync; reader?: Deno.ReaderSync & { - readonly rid: number; setRaw(mode: boolean, options?: Deno.SetRawOptions): void; + isTerminal(): boolean; }; } diff --git a/prompt/_generic_prompt.ts b/prompt/_generic_prompt.ts index 0709ad35..70b58a6a 100644 --- a/prompt/_generic_prompt.ts +++ b/prompt/_generic_prompt.ts @@ -71,8 +71,8 @@ export interface GenericPromptOptions { prefix?: string; /** Change the prompt input stream. */ reader?: Deno.Reader & { - readonly rid: number; setRaw(mode: boolean, options?: Deno.SetRawOptions): void; + isTerminal(): boolean; }; /** Change the prompt output stream. */ writer?: Deno.WriterSync; @@ -87,8 +87,8 @@ export interface GenericPromptSettings cbreak: boolean; tty: Tty; reader: Deno.Reader & { - readonly rid: number; setRaw(mode: boolean, options?: Deno.SetRawOptions): void; + isTerminal(): boolean; }; writer: Deno.WriterSync; } @@ -356,7 +356,7 @@ export abstract class GenericPrompt< /** Read user input from stdin. */ #readChar = async (): Promise => { const buffer = new Uint8Array(8); - const isTty = Deno.isatty(this.settings.reader.rid); + const isTty = this.settings.reader.isTerminal(); if (isTty) { this.settings.reader.setRaw(