From 2c424c1aa6485f3b7b8addecb606657daa6b5a3d Mon Sep 17 00:00:00 2001 From: Chanrles WANG Date: Mon, 2 Dec 2019 01:43:07 +0800 Subject: [PATCH] update vcreate.v --- tools/vcreate.v | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/vcreate.v b/tools/vcreate.v index 0a0806fef7..d507f939ed 100644 --- a/tools/vcreate.v +++ b/tools/vcreate.v @@ -12,6 +12,7 @@ struct Create { mut: name string description string + version string } fn cerror(e string){ @@ -25,6 +26,7 @@ fn (c Create)write_vmod() { vmod_content << 'Module {' vmod_content << ' name: \'${c.name}\',' vmod_content << ' description: \'${c.description}\',' + vmod_content << ' version: v${c.version},' vmod_content << ' dependencies: []' vmod_content << '}' vmod.write(vmod_content.join('\n')) @@ -34,22 +36,36 @@ fn (c Create)write_main() { mut main := os.create('${c.name}/${c.name}.v') or { cerror(err) exit(2) } mut main_content := []string main_content << 'module main\n' + main_content << 'import ( mod )\n' main_content << 'fn main() {' main_content << ' println(\'Hello World !\')' main_content << '}' main.write(main_content.join('\n')) } +fn (_ Create)write_mod(){ + os.mkdir('${c.name}/mod') + mod := os.create('${c.name}/mod/mod.v') or {return} + mut mod_in := []string + mod_in << 'module mod\n' + mod_in << 'pub fn add(i, j int) int {' + mod_in << ' return i + j' + mod_in << '}\n' + mod.write(mod_in.join('\n')) +} + fn main() { mut c := Create{} print('Choose your project name: ') c.name = os.get_line() print('Choose your project description: ') c.description = os.get_line() + c.version='0.0.1' println('Initialising ...') if (os.is_dir(c.name)) { cerror('folder already exists') exit(3) } os.mkdir(c.name) or { panic(err) } c.write_vmod() c.write_main() + c.write_mod() // add a user defined module println('Complete !') }