0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00

fix(prompt): fix display of non-ASCII characters on Windows (#8199)

This commit is contained in:
Yoshiya Hinosawa 2020-11-03 09:15:29 +09:00 committed by GitHub
parent 1c1889851d
commit e736d0f60f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View file

@ -1,18 +1,18 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
((window) => {
const { stdin, stdout } = window.__bootstrap.files;
const { stdin } = window.__bootstrap.files;
const { isatty } = window.__bootstrap.tty;
const LF = "\n".charCodeAt(0);
const CR = "\r".charCodeAt(0);
const encoder = new TextEncoder();
const decoder = new TextDecoder();
const core = window.Deno.core;
function alert(message = "Alert") {
if (!isatty(stdin.rid)) {
return;
}
stdout.writeSync(encoder.encode(`${message} [Enter] `));
core.print(`${message} [Enter] `, false);
readLineFromStdinSync();
}
@ -22,7 +22,7 @@
return false;
}
stdout.writeSync(encoder.encode(`${message} [y/N] `));
core.print(`${message} [y/N] `, false);
const answer = readLineFromStdinSync();
@ -36,10 +36,10 @@
return null;
}
stdout.writeSync(encoder.encode(`${message} `));
core.print(`${message} `, false);
if (defaultValue) {
stdout.writeSync(encoder.encode(`[${defaultValue}] `));
core.print(`[${defaultValue}] `, false);
}
return readLineFromStdinSync() || defaultValue;

View file

@ -11,6 +11,7 @@ use futures::future::FutureExt;
use rusty_v8 as v8;
use std::cell::Cell;
use std::convert::TryFrom;
use std::io::{stdout, Write};
use std::option::Option;
use url::Url;
use v8::MapFnTo;
@ -352,8 +353,10 @@ fn print(
};
if is_err {
eprint!("{}", str_.to_rust_string_lossy(tc_scope));
stdout().flush().unwrap();
} else {
print!("{}", str_.to_rust_string_lossy(tc_scope));
stdout().flush().unwrap();
}
}