Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Unified Diff: runtime/bin/stdio.cc

Issue 2753233002: [dart:io] Move Platform.ansiSupported to {Stdin,Stdout}.supportsAnsiEscapes (Closed)
Patch Set: Fix typo Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/stdio.cc
diff --git a/runtime/bin/stdio.cc b/runtime/bin/stdio.cc
index aa1c7c2288c52709efa432481f3bd31c5bea08cf..fec14b1c170cecd3f6063243271b761d34d8c1b6 100644
--- a/runtime/bin/stdio.cc
+++ b/runtime/bin/stdio.cc
@@ -69,6 +69,16 @@ void FUNCTION_NAME(Stdin_SetLineMode)(Dart_NativeArguments args) {
}
+void FUNCTION_NAME(Stdin_AnsiSupported)(Dart_NativeArguments args) {
+ bool supported = false;
+ if (Stdin::AnsiSupported(&supported)) {
+ Dart_SetBooleanReturnValue(args, supported);
+ } else {
+ Dart_SetReturnValue(args, DartUtils::NewDartOSError());
+ }
+}
+
+
void FUNCTION_NAME(Stdout_GetTerminalSize)(Dart_NativeArguments args) {
if (!Dart_IsInteger(Dart_GetNativeArgument(args, 0))) {
OSError os_error(-1, "Invalid argument", OSError::kUnknown);
@@ -92,6 +102,26 @@ void FUNCTION_NAME(Stdout_GetTerminalSize)(Dart_NativeArguments args) {
}
}
+
+void FUNCTION_NAME(Stdout_AnsiSupported)(Dart_NativeArguments args) {
+ if (!Dart_IsInteger(Dart_GetNativeArgument(args, 0))) {
+ OSError os_error(-1, "Invalid argument", OSError::kUnknown);
+ Dart_SetReturnValue(args, DartUtils::NewDartOSError(&os_error));
+ return;
+ }
+ intptr_t fd = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
+ if ((fd != 1) && (fd != 2)) {
+ Dart_SetReturnValue(args, Dart_NewApiError("Terminal fd must be 1 or 2"));
+ return;
+ }
siva 2017/03/17 23:54:24 The above chunk could be written as (avoids multip
+ bool supported = false;
+ if (Stdout::AnsiSupported(fd, &supported)) {
+ Dart_SetBooleanReturnValue(args, supported);
+ } else {
+ Dart_SetReturnValue(args, DartUtils::NewDartOSError());
+ }
+}
+
} // namespace bin
} // namespace dart
« no previous file with comments | « runtime/bin/stdio.h ('k') | runtime/bin/stdio_android.cc » ('j') | runtime/bin/stdio_patch.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698