github.com/driusan/bug@v0.3.2-0.20190306121946-d7f4e7f33fea/bugapp/Close.go (about) 1 package bugapp 2 3 import ( 4 "fmt" 5 "github.com/driusan/bug/bugs" 6 "os" 7 ) 8 9 func Close(args ArgumentList) { 10 // No parameters, print a list of all bugs 11 if len(args) == 0 { 12 fmt.Fprintf(os.Stderr, "Usage: %s close BugID\n\nMust provide an BugID to close as parameter\n", os.Args[0]) 13 return 14 } 15 16 // There were parameters, so show the full description of each 17 // of those issues 18 var bugsToClose []string 19 for _, bugID := range args { 20 if bug, err := bugs.LoadBugByHeuristic(bugID); err == nil { 21 dir := bug.GetDirectory() 22 bugsToClose = append(bugsToClose, string(dir)) 23 } else { 24 fmt.Fprintf(os.Stderr, "Could not close bug %s: %s\n", bugID, err) 25 } 26 } 27 for _, dir := range bugsToClose { 28 fmt.Printf("Removing %s\n", dir) 29 os.RemoveAll(dir) 30 } 31 }