From b21462355a61d69bedf15ae51304719f6014b8df Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Tue, 2 Jan 2024 09:36:05 +0530 Subject: Revert "fix(runtime): Make native modal keyboard interaction consistent with browsers" (#21739) Reverts denoland/deno#18453 Fixes https://github.com/denoland/deno/issues/21602 https://github.com/denoland/deno/issues/21631 https://github.com/denoland/deno/issues/21641 Reasons for revert: - alert() and confirm() swallowed ^C with raw mode. - prompt() did not re-raise the interrupt signal from rustyline. - Default 'Y' on confirm() is a bad default and breaking change. cc @lionel-rowe --- runtime/ops/tty.rs | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) (limited to 'runtime/ops') diff --git a/runtime/ops/tty.rs b/runtime/ops/tty.rs index 04192b90e..3227ee562 100644 --- a/runtime/ops/tty.rs +++ b/runtime/ops/tty.rs @@ -5,13 +5,6 @@ use std::io::Error; use deno_core::error::AnyError; use deno_core::op2; use deno_core::OpState; -use rustyline::config::Configurer; -use rustyline::error::ReadlineError; -use rustyline::Cmd; -use rustyline::Editor; -use rustyline::KeyCode; -use rustyline::KeyEvent; -use rustyline::Modifiers; #[cfg(unix)] use deno_core::ResourceId; @@ -50,12 +43,7 @@ use winapi::um::wincon; deno_core::extension!( deno_tty, - ops = [ - op_stdin_set_raw, - op_isatty, - op_console_size, - op_read_line_prompt, - ], + ops = [op_stdin_set_raw, op_isatty, op_console_size], state = |state| { #[cfg(unix)] state.put(TtyModeStore::default()); @@ -332,25 +320,3 @@ mod tests { ); } } - -#[op2] -#[string] -pub fn op_read_line_prompt( - #[string] prompt_text: String, - #[string] default_value: String, -) -> Result, AnyError> { - let mut editor = Editor::<(), rustyline::history::DefaultHistory>::new() - .expect("Failed to create editor."); - - editor.set_keyseq_timeout(1); - editor - .bind_sequence(KeyEvent(KeyCode::Esc, Modifiers::empty()), Cmd::Interrupt); - - let read_result = - editor.readline_with_initial(&prompt_text, (&default_value, "")); - match read_result { - Ok(line) => Ok(Some(line)), - Err(ReadlineError::Interrupted | ReadlineError::Eof) => Ok(None), - Err(err) => Err(err.into()), - } -} -- cgit v1.2.3