mirror of
https://github.com/vlang/v.git
synced 2025-09-14 15:02:33 +03:00
tools: cleanup obsolete functions in cmd/tools/vfmt.v
This commit is contained in:
parent
015007c539
commit
a1d4712b0b
1 changed files with 7 additions and 64 deletions
|
@ -283,76 +283,19 @@ fn (mut foptions FormatOptions) post_process_file(file string, formatted_file_pa
|
||||||
flush_stdout()
|
flush_stdout()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (f FormatOptions) str() string {
|
|
||||||
return
|
|
||||||
'FormatOptions{ is_l: ${f.is_l}, is_w: ${f.is_w}, is_diff: ${f.is_diff}, is_verbose: ${f.is_verbose},' +
|
|
||||||
' is_all: ${f.is_all}, is_worker: ${f.is_worker}, is_debug: ${f.is_debug}, is_noerror: ${f.is_noerror},' +
|
|
||||||
' is_verify: ${f.is_verify}" }'
|
|
||||||
}
|
|
||||||
|
|
||||||
fn file_to_mod_name_and_is_module_file(file string) (string, bool) {
|
|
||||||
mut mod_name := 'main'
|
|
||||||
mut is_module_file := false
|
|
||||||
flines := read_source_lines(file) or { return mod_name, is_module_file }
|
|
||||||
for fline in flines {
|
|
||||||
line := fline.trim_space()
|
|
||||||
if line.starts_with('module ') {
|
|
||||||
if !line.starts_with('module main') {
|
|
||||||
is_module_file = true
|
|
||||||
mod_name = line.replace('module ', ' ').trim_space()
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return mod_name, is_module_file
|
|
||||||
}
|
|
||||||
|
|
||||||
fn read_source_lines(file string) ![]string {
|
fn read_source_lines(file string) ![]string {
|
||||||
source_lines := os.read_lines(file) or { return error('can not read ${file}') }
|
source_lines := os.read_lines(file) or { return error('can not read ${file}') }
|
||||||
return source_lines
|
return source_lines
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_compile_name_of_potential_v_project(file string) string {
|
|
||||||
// This function get_compile_name_of_potential_v_project returns:
|
|
||||||
// a) the file's folder, if file is part of a v project
|
|
||||||
// b) the file itself, if the file is a standalone v program
|
|
||||||
pfolder := os.real_path(os.dir(file))
|
|
||||||
// a .v project has many 'module main' files in one folder
|
|
||||||
// if there is only one .v file, then it must be a standalone
|
|
||||||
all_files_in_pfolder := os.ls(pfolder) or { panic(err) }
|
|
||||||
mut vfiles := []string{}
|
|
||||||
for f in all_files_in_pfolder {
|
|
||||||
vf := os.join_path(pfolder, f)
|
|
||||||
if f.starts_with('.') || !f.ends_with('.v') || os.is_dir(vf) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
vfiles << vf
|
|
||||||
}
|
|
||||||
if vfiles.len == 1 {
|
|
||||||
return file
|
|
||||||
}
|
|
||||||
// /////////////////////////////////////////////////////////////
|
|
||||||
// At this point, we know there are many .v files in the folder
|
|
||||||
// We will have to read them all, and if there are more than one
|
|
||||||
// containing `fn main` then the folder contains multiple standalone
|
|
||||||
// v programs. If only one contains `fn main` then the folder is
|
|
||||||
// a project folder, that should be compiled with `v pfolder`.
|
|
||||||
mut main_fns := 0
|
|
||||||
for f in vfiles {
|
|
||||||
slines := read_source_lines(f) or { panic(err) }
|
|
||||||
for line in slines {
|
|
||||||
if line.contains('fn main()') {
|
|
||||||
main_fns++
|
|
||||||
if main_fns > 1 {
|
|
||||||
return file
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return pfolder
|
|
||||||
}
|
|
||||||
|
|
||||||
@[noreturn]
|
@[noreturn]
|
||||||
fn verror(s string) {
|
fn verror(s string) {
|
||||||
util.verror('vfmt error', s)
|
util.verror('vfmt error', s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn (f FormatOptions) str() string {
|
||||||
|
return
|
||||||
|
'FormatOptions{ is_l: ${f.is_l}, is_w: ${f.is_w}, is_diff: ${f.is_diff}, is_verbose: ${f.is_verbose},' +
|
||||||
|
' is_all: ${f.is_all}, is_worker: ${f.is_worker}, is_debug: ${f.is_debug}, is_noerror: ${f.is_noerror},' +
|
||||||
|
' is_verify: ${f.is_verify}" }'
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue