github.com/matthewdale/lab@v0.14.0/cmd/snippet_delete.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 "log" 6 7 "github.com/spf13/cobra" 8 lab "github.com/zaquestion/lab/internal/gitlab" 9 ) 10 11 // snippetDeleteCmd represents the snippetDelete command 12 var snippetDeleteCmd = &cobra.Command{ 13 Use: "delete [remote] <id>", 14 Short: "Delete a project or personal snippet", 15 Long: ``, 16 Args: cobra.MinimumNArgs(1), 17 Run: func(cmd *cobra.Command, args []string) { 18 rn, id, err := parseArgs(args) 19 if err != nil { 20 log.Fatal(err) 21 } 22 if global || rn == "" { 23 err = lab.SnippetDelete(int(id)) 24 if err != nil { 25 log.Fatal(err) 26 } 27 fmt.Printf("Snippet #%d deleted\n", id) 28 return 29 } 30 31 project, err := lab.FindProject(rn) 32 if err != nil { 33 log.Fatal(err) 34 } 35 err = lab.ProjectSnippetDelete(project.ID, int(id)) 36 if err != nil { 37 log.Fatal(err) 38 } 39 }, 40 } 41 42 func init() { 43 snippetCmd.AddCommand(snippetDeleteCmd) 44 }