|
|
@ -64,12 +64,12 @@ impl rustyline::validate::Validator for Indented {
|
|
|
|
|
|
|
|
|
|
|
|
#[derive(Args, Debug)]
|
|
|
|
#[derive(Args, Debug)]
|
|
|
|
pub(crate) struct ReplArgs {
|
|
|
|
pub(crate) struct ReplArgs {
|
|
|
|
/// Database engine, can be `mem`, `sqlite`, `rocksdb` and others.
|
|
|
|
/// Database engine, can be `mem (default)`, `sqlite`, `rocksdb` and others.
|
|
|
|
#[clap(short, long, default_value_t = String::from("mem"))]
|
|
|
|
#[clap(short, long, default_value_t = String::from("mem"))]
|
|
|
|
engine: String,
|
|
|
|
engine: String,
|
|
|
|
|
|
|
|
|
|
|
|
/// Path to the directory to store the database
|
|
|
|
/// Path to the directory to store the database
|
|
|
|
#[clap(short, long, default_value_t = String::from("cozo.db"))]
|
|
|
|
#[clap(short, long, default_value_t = String::from("fbase.db"))]
|
|
|
|
path: String,
|
|
|
|
path: String,
|
|
|
|
|
|
|
|
|
|
|
|
/// Extra config in JSON format
|
|
|
|
/// Extra config in JSON format
|
|
|
@ -100,8 +100,8 @@ pub(crate) fn repl_main(args: ReplArgs) -> Result<(), Box<dyn Error>> {
|
|
|
|
.expect("Error setting Ctrl-C handler");
|
|
|
|
.expect("Error setting Ctrl-C handler");
|
|
|
|
|
|
|
|
|
|
|
|
println!("Welcome to the fluidB REPL");
|
|
|
|
println!("Welcome to the fluidB REPL");
|
|
|
|
println!("Type a space followed by newline to enter multiline mode.");
|
|
|
|
println!("Type a space followed by newline to enter multiline mode");
|
|
|
|
println!("Press 'Ctrl-C' for exit.");
|
|
|
|
println!("Press 'Ctrl-C' for exit");
|
|
|
|
|
|
|
|
|
|
|
|
let mut exit = false;
|
|
|
|
let mut exit = false;
|
|
|
|
let mut rl = rustyline::Editor::<Indented, DefaultHistory>::new()?;
|
|
|
|
let mut rl = rustyline::Editor::<Indented, DefaultHistory>::new()?;
|
|
|
@ -130,7 +130,7 @@ pub(crate) fn repl_main(args: ReplArgs) -> Result<(), Box<dyn Error>> {
|
|
|
|
if exit {
|
|
|
|
if exit {
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
println!("Press 'Ctrl-C again to exit");
|
|
|
|
println!("Press 'Ctrl-C' again to exit");
|
|
|
|
exit = true;
|
|
|
|
exit = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|