Fix rustyline patch.
This commit is contained in:
parent
63359f3f81
commit
06608affc5
@ -1,13 +1,14 @@
|
|||||||
Rhai Release Notes
|
Rhai Release Notes
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Version 1.7.0
|
Version 1.6.1
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
---------
|
---------
|
||||||
|
|
||||||
* Functions with `Dynamic` parameters now work in qualified calls from `import`ed modules.
|
* Functions with `Dynamic` parameters now work in qualified calls from `import`ed modules.
|
||||||
|
* `rhai-repl` now compiles with the new patch version of `rustyline`.
|
||||||
|
|
||||||
Script-breaking changes
|
Script-breaking changes
|
||||||
-----------------------
|
-----------------------
|
||||||
@ -18,7 +19,7 @@ Script-breaking changes
|
|||||||
Enhancements
|
Enhancements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
* Strings are not directly iterable (via `for .. in`) yielding individual characters.
|
* Strings are now directly iterable (via `for .. in`) yielding individual characters.
|
||||||
|
|
||||||
|
|
||||||
Version 1.6.0
|
Version 1.6.0
|
||||||
|
@ -3,7 +3,7 @@ members = [".", "codegen"]
|
|||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "rhai"
|
name = "rhai"
|
||||||
version = "1.7.0"
|
version = "1.6.1"
|
||||||
rust-version = "1.57"
|
rust-version = "1.57"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
authors = ["Jonathan Turner", "Lukáš Hozda", "Stephen Chung", "jhwgh1968"]
|
authors = ["Jonathan Turner", "Lukáš Hozda", "Stephen Chung", "jhwgh1968"]
|
||||||
|
@ -3,7 +3,6 @@ use rhai::{Dynamic, Engine, EvalAltResult, Module, Scope, AST, INT};
|
|||||||
use rustyline::config::Builder;
|
use rustyline::config::Builder;
|
||||||
use rustyline::error::ReadlineError;
|
use rustyline::error::ReadlineError;
|
||||||
use rustyline::{Cmd, Editor, Event, EventHandler, KeyCode, KeyEvent, Modifiers, Movement};
|
use rustyline::{Cmd, Editor, Event, EventHandler, KeyCode, KeyEvent, Modifiers, Movement};
|
||||||
use smallvec::smallvec;
|
|
||||||
|
|
||||||
use std::{env, fs::File, io::Read, path::Path, process::exit};
|
use std::{env, fs::File, io::Read, path::Path, process::exit};
|
||||||
|
|
||||||
@ -223,40 +222,40 @@ fn setup_editor() -> Editor<()> {
|
|||||||
// On Windows, Esc clears the input buffer
|
// On Windows, Esc clears the input buffer
|
||||||
#[cfg(target_family = "windows")]
|
#[cfg(target_family = "windows")]
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::Esc, Modifiers::empty())]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::Esc, Modifiers::empty())]),
|
||||||
EventHandler::Simple(Cmd::Kill(Movement::WholeBuffer)),
|
EventHandler::Simple(Cmd::Kill(Movement::WholeBuffer)),
|
||||||
);
|
);
|
||||||
// On Windows, Ctrl-Z is undo
|
// On Windows, Ctrl-Z is undo
|
||||||
#[cfg(target_family = "windows")]
|
#[cfg(target_family = "windows")]
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent::ctrl('z')]),
|
Event::KeySeq(vec![KeyEvent::ctrl('z')]),
|
||||||
EventHandler::Simple(Cmd::Undo(1)),
|
EventHandler::Simple(Cmd::Undo(1)),
|
||||||
);
|
);
|
||||||
// Map Ctrl-Enter to insert a new line - bypass need for `\` continuation
|
// Map Ctrl-Enter to insert a new line - bypass need for `\` continuation
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::Char('J'), Modifiers::CTRL)]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::Char('J'), Modifiers::CTRL)]),
|
||||||
EventHandler::Simple(Cmd::Newline),
|
EventHandler::Simple(Cmd::Newline),
|
||||||
);
|
);
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::Enter, Modifiers::CTRL)]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::Enter, Modifiers::CTRL)]),
|
||||||
EventHandler::Simple(Cmd::Newline),
|
EventHandler::Simple(Cmd::Newline),
|
||||||
);
|
);
|
||||||
// Map Ctrl-Home and Ctrl-End for beginning/end of input
|
// Map Ctrl-Home and Ctrl-End for beginning/end of input
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::Home, Modifiers::CTRL)]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::Home, Modifiers::CTRL)]),
|
||||||
EventHandler::Simple(Cmd::Move(Movement::BeginningOfBuffer)),
|
EventHandler::Simple(Cmd::Move(Movement::BeginningOfBuffer)),
|
||||||
);
|
);
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::End, Modifiers::CTRL)]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::End, Modifiers::CTRL)]),
|
||||||
EventHandler::Simple(Cmd::Move(Movement::EndOfBuffer)),
|
EventHandler::Simple(Cmd::Move(Movement::EndOfBuffer)),
|
||||||
);
|
);
|
||||||
// Map Ctrl-Up and Ctrl-Down to skip up/down the history, even through multi-line histories
|
// Map Ctrl-Up and Ctrl-Down to skip up/down the history, even through multi-line histories
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::Down, Modifiers::CTRL)]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::Down, Modifiers::CTRL)]),
|
||||||
EventHandler::Simple(Cmd::NextHistory),
|
EventHandler::Simple(Cmd::NextHistory),
|
||||||
);
|
);
|
||||||
rl.bind_sequence(
|
rl.bind_sequence(
|
||||||
Event::KeySeq(smallvec![KeyEvent(KeyCode::Up, Modifiers::CTRL)]),
|
Event::KeySeq(vec![KeyEvent(KeyCode::Up, Modifiers::CTRL)]),
|
||||||
EventHandler::Simple(Cmd::PreviousHistory),
|
EventHandler::Simple(Cmd::PreviousHistory),
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -371,11 +370,7 @@ fn main() {
|
|||||||
input.clear();
|
input.clear();
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let prompt = if input.is_empty() {
|
let prompt = if input.is_empty() { "repl> " } else { " > " };
|
||||||
"rhai-repl> "
|
|
||||||
} else {
|
|
||||||
" > "
|
|
||||||
};
|
|
||||||
|
|
||||||
match rl.readline(prompt) {
|
match rl.readline(prompt) {
|
||||||
// Line continuation
|
// Line continuation
|
||||||
|
Loading…
Reference in New Issue
Block a user