summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.v22
1 files changed, 20 insertions, 2 deletions
diff --git a/main.v b/main.v
index 9235b18..4ea5520 100644
--- a/main.v
+++ b/main.v
@@ -3,9 +3,27 @@ module main
import os
fn main() {
- if os.args.len < 2 { return }
+ if os.args.len < 2 {
+ println('usage: cf [-p] <files>')
+ return
+ }
+ mut parents := false
+ mut files := []string{}
for arg in os.args[1..] {
- mut f := os.create(arg) or {
+ if arg == '-p' {
+ parents = true
+ } else {
+ files << arg
+ }
+ }
+ for file in files {
+ if parents {
+ dir := os.dir(file)
+ if dir.len > 0 {
+ os.mkdir_all(dir) or {}
+ }
+ }
+ mut f := os.create(file) or {
println('file not writable')
return
}