compiler: support explicit runrepl argument, so that the v repl can be launched with options like -debug and so on.

pull/1866/head
Delyan Angelov 2019-09-04 11:50:44 +03:00 committed by Alexander Medvednikov
parent d1210b9e9f
commit ec61821bf7
2 changed files with 7 additions and 6 deletions

View File

@ -193,11 +193,6 @@ fn main() {
os.mkdir(ModPath) os.mkdir(ModPath)
} }
} }
// No args? REPL
if args.len < 2 || (args.len == 2 && args[1] == '-') {
run_repl()
return
}
// Construct the V object from command line arguments // Construct the V object from command line arguments
mut v := new_v(args) mut v := new_v(args)
if v.pref.is_verbose { if v.pref.is_verbose {
@ -216,6 +211,12 @@ fn main() {
v.run_compiled_executable_and_exit() v.run_compiled_executable_and_exit()
} }
// No args? REPL
if args.len < 2 || (args.len == 2 && args[1] == '-') || 'runrepl' in args {
run_repl()
return
}
v.compile() v.compile()
if v.pref.is_test { if v.pref.is_test {

View File

@ -50,7 +50,7 @@ fn test_the_v_repl() {
input_temporary_filename := 'input_temporary_filename.txt' input_temporary_filename := 'input_temporary_filename.txt'
os.write_file(input_temporary_filename, input) os.write_file(input_temporary_filename, input)
defer { os.rm(input_temporary_filename) } defer { os.rm(input_temporary_filename) }
r := os.exec('$vexec < $input_temporary_filename') or { r := os.exec('$vexec runrepl < $input_temporary_filename') or {
assert false assert false
break break
} }