| Index: sdk/lib/io/stdio.dart
|
| diff --git a/sdk/lib/io/stdio.dart b/sdk/lib/io/stdio.dart
|
| index 29ea48d2a4380dbb9ca1459fb12715eeff26bae4..8f1c6256dccb045ebeabd949205f05421b1dd09e 100644
|
| --- a/sdk/lib/io/stdio.dart
|
| +++ b/sdk/lib/io/stdio.dart
|
| @@ -137,6 +137,30 @@ class Stdin extends _StdStream implements Stream<List<int>> {
|
| external void set lineMode(bool enabled);
|
|
|
| /**
|
| + * Whether connected to a terminal that supports ANSI escape sequences.
|
| + *
|
| + * Not all terminals are recognized, and not all recognized terminals can
|
| + * report whether they support ANSI escape sequences, so this value is a
|
| + * best-effort attempt at detecting the support.
|
| + *
|
| + * The actual escape sequence support may differ between terminals,
|
| + * with some terminals supporting more escape sequences than others,
|
| + * and some terminals even differing in behavior for the same escape
|
| + * sequence.
|
| + *
|
| + * The ANSI color selection is generally supported.
|
| + *
|
| + * Currently, a `TERM` environment variable containing the string `xterm`
|
| + * will be taken as evidence that ANSI escape sequences are supported.
|
| + * On Windows, only versions of Windows 10 after v.1511
|
| + * ("TH2", OS build 10586) will be detected as supporting the output of
|
| + * ANSI escape sequences, and only versions after v.1607 ("Anniversery
|
| + * Update", OS build 14393) will be detected as supporting the input of
|
| + * ANSI escape sequences.
|
| + */
|
| + external bool get supportsAnsiEscapes;
|
| +
|
| + /**
|
| * Synchronously read a byte from stdin. This call will block until a byte is
|
| * available.
|
| *
|
| @@ -178,7 +202,7 @@ class Stdout extends _StdFileSink implements IOSink {
|
| */
|
| int get terminalColumns => _terminalColumns(_fd);
|
|
|
| - /**
|
| + /*
|
| * Get the number of lines of the terminal.
|
| *
|
| * If no terminal is attached to stdout, a [StdoutException] is thrown. See
|
| @@ -186,9 +210,34 @@ class Stdout extends _StdFileSink implements IOSink {
|
| */
|
| int get terminalLines => _terminalLines(_fd);
|
|
|
| + /**
|
| + * Whether connected to a terminal that supports ANSI escape sequences.
|
| + *
|
| + * Not all terminals are recognized, and not all recognized terminals can
|
| + * report whether they support ANSI escape sequences, so this value is a
|
| + * best-effort attempt at detecting the support.
|
| + *
|
| + * The actual escape sequence support may differ between terminals,
|
| + * with some terminals supporting more escape sequences than others,
|
| + * and some terminals even differing in behavior for the same escape
|
| + * sequence.
|
| + *
|
| + * The ANSI color selection is generally supported.
|
| + *
|
| + * Currently, a `TERM` environment variable containing the string `xterm`
|
| + * will be taken as evidence that ANSI escape sequences are supported.
|
| + * On Windows, only versions of Windows 10 after v.1511
|
| + * ("TH2", OS build 10586) will be detected as supporting the output of
|
| + * ANSI escape sequences, and only versions after v.1607 ("Anniversery
|
| + * Update", OS build 14393) will be detected as supporting the input of
|
| + * ANSI escape sequences.
|
| + */
|
| + bool get supportsAnsiEscapes => _supportsAnsiEscapes(_fd);
|
| +
|
| external bool _hasTerminal(int fd);
|
| external int _terminalColumns(int fd);
|
| external int _terminalLines(int fd);
|
| + external static bool _supportsAnsiEscapes(int fd);
|
|
|
| /**
|
| * Get a non-blocking `IOSink`.
|
|
|