summaryrefslogtreecommitdiff
path: root/cli/ops/repl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops/repl.rs')
-rw-r--r--cli/ops/repl.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/cli/ops/repl.rs b/cli/ops/repl.rs
index b8fd7ab8b..88b7de881 100644
--- a/cli/ops/repl.rs
+++ b/cli/ops/repl.rs
@@ -7,10 +7,11 @@ use crate::state::State;
use deno_core::CoreIsolate;
use deno_core::CoreIsolateState;
use deno_core::ZeroCopyBuf;
+use std::rc::Rc;
use std::sync::Arc;
use std::sync::Mutex;
-pub fn init(i: &mut CoreIsolate, s: &State) {
+pub fn init(i: &mut CoreIsolate, s: &Rc<State>) {
i.register_op("op_repl_start", s.stateful_json_op2(op_repl_start));
i.register_op("op_repl_readline", s.stateful_json_op2(op_repl_readline));
}
@@ -25,14 +26,14 @@ struct ReplStartArgs {
fn op_repl_start(
isolate_state: &mut CoreIsolateState,
- state: &State,
+ state: &Rc<State>,
args: Value,
_zero_copy: &mut [ZeroCopyBuf],
) -> Result<JsonOp, OpError> {
let args: ReplStartArgs = serde_json::from_value(args)?;
debug!("op_repl_start {}", args.history_file);
let history_path =
- repl::history_path(&state.borrow().global_state.dir, &args.history_file);
+ repl::history_path(&state.global_state.dir, &args.history_file);
let repl = repl::Repl::new(history_path);
let resource = ReplResource(Arc::new(Mutex::new(repl)));
let mut resource_table = isolate_state.resource_table.borrow_mut();
@@ -48,7 +49,7 @@ struct ReplReadlineArgs {
fn op_repl_readline(
isolate_state: &mut CoreIsolateState,
- _state: &State,
+ _state: &Rc<State>,
args: Value,
_zero_copy: &mut [ZeroCopyBuf],
) -> Result<JsonOp, OpError> {