mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
vrepl: simplify and cleanup vrepl (#15807)
This commit is contained in:
parent
57d583d821
commit
0ff74dae63
@ -31,13 +31,12 @@ mut:
|
|||||||
eval_func_lines []string // same line of the `VSTARTUP` file, but used to test fn type
|
eval_func_lines []string // same line of the `VSTARTUP` file, but used to test fn type
|
||||||
}
|
}
|
||||||
|
|
||||||
const is_stdin_a_pipe = (os.is_atty(0) == 0)
|
const (
|
||||||
|
is_stdin_a_pipe = os.is_atty(0) == 0
|
||||||
const vexe = os.getenv('VEXE')
|
vexe = os.getenv('VEXE')
|
||||||
|
vstartup = os.getenv('VSTARTUP')
|
||||||
const vstartup = os.getenv('VSTARTUP')
|
repl_folder = os.join_path(os.temp_dir(), 'v', 'repl')
|
||||||
|
)
|
||||||
const repl_folder = os.join_path(os.temp_dir(), 'v', 'repl')
|
|
||||||
|
|
||||||
enum FnType {
|
enum FnType {
|
||||||
@none
|
@none
|
||||||
@ -293,14 +292,13 @@ fn run_repl(workdir string, vrepl_prefix string) int {
|
|||||||
print('\n')
|
print('\n')
|
||||||
print_output(result.output)
|
print_output(result.output)
|
||||||
}
|
}
|
||||||
file := os.join_path(workdir, '.${vrepl_prefix}vrepl.v')
|
|
||||||
temp_file := os.join_path(workdir, '.${vrepl_prefix}vrepl_temp.v')
|
temp_file := os.join_path(workdir, '.${vrepl_prefix}vrepl_temp.v')
|
||||||
mut prompt := '>>> '
|
mut prompt := '>>> '
|
||||||
defer {
|
defer {
|
||||||
if !is_stdin_a_pipe {
|
if !is_stdin_a_pipe {
|
||||||
println('')
|
println('')
|
||||||
}
|
}
|
||||||
cleanup_files([file, temp_file])
|
cleanup_files(temp_file)
|
||||||
}
|
}
|
||||||
mut r := new_repl(workdir)
|
mut r := new_repl(workdir)
|
||||||
for {
|
for {
|
||||||
@ -517,11 +515,6 @@ fn convert_output(os_result string) string {
|
|||||||
return content
|
return content
|
||||||
}
|
}
|
||||||
content += endline_if_missed(sline[idx + 1..])
|
content += endline_if_missed(sline[idx + 1..])
|
||||||
} else if line.contains('.vrepl.v:') {
|
|
||||||
// Ensure that .vrepl.v: is at the start, ignore the path
|
|
||||||
// This is needed to have stable .repl tests.
|
|
||||||
idx := line.index('.vrepl.v:') or { panic(err) }
|
|
||||||
content += endline_if_missed(line[idx..])
|
|
||||||
} else {
|
} else {
|
||||||
content += endline_if_missed(line)
|
content += endline_if_missed(line)
|
||||||
}
|
}
|
||||||
@ -570,18 +563,16 @@ fn (mut r Repl) get_one_line(prompt string) ?string {
|
|||||||
return rline
|
return rline
|
||||||
}
|
}
|
||||||
|
|
||||||
fn cleanup_files(files []string) {
|
fn cleanup_files(file string) {
|
||||||
for file in files {
|
os.rm(file) or {}
|
||||||
os.rm(file) or {}
|
$if windows {
|
||||||
$if windows {
|
os.rm(file[..file.len - 2] + '.exe') or {}
|
||||||
os.rm(file[..file.len - 2] + '.exe') or {}
|
$if msvc {
|
||||||
$if msvc {
|
os.rm(file[..file.len - 2] + '.ilk') or {}
|
||||||
os.rm(file[..file.len - 2] + '.ilk') or {}
|
os.rm(file[..file.len - 2] + '.pdb') or {}
|
||||||
os.rm(file[..file.len - 2] + '.pdb') or {}
|
|
||||||
}
|
|
||||||
} $else {
|
|
||||||
os.rm(file[..file.len - 2]) or {}
|
|
||||||
}
|
}
|
||||||
|
} $else {
|
||||||
|
os.rm(file[..file.len - 2]) or {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user