Skip to content

Commit

Permalink
add: cobra demo
Browse files Browse the repository at this point in the history
  • Loading branch information
hthuz committed Jul 16, 2024
1 parent 0f20caf commit 9556af4
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 0 deletions.
27 changes: 27 additions & 0 deletions go/cobra-demo/cmd/root.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package cmd

import (
"fmt"

"github.com/spf13/cobra"
)

var Verbose bool

// Root command is my app
var rootCmd = &cobra.Command{
Use: "hugo",
Short: "Hugo is a static site generator",
Long: "Hugo is a fantastic and fast static site generator",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("Running hugo")
fmt.Println("your args ", args)
fmt.Printf("Verbose: %v\n", Verbose)
},
TraverseChildren: true,
}

func Execute() {
rootCmd.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "verbose output")
rootCmd.Execute()
}
19 changes: 19 additions & 0 deletions go/cobra-demo/cmd/version.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package cmd

import (
"fmt"

"github.com/spf13/cobra"
)

var versionCmd = &cobra.Command{
Use: "version",
Short: "Display version",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("Version v0.1")
},
}

func init() {
rootCmd.AddCommand(versionCmd)
}
9 changes: 9 additions & 0 deletions go/cobra-demo/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module cobra-demo

go 1.22.5

require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/spf13/cobra v1.8.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
)
10 changes: 10 additions & 0 deletions go/cobra-demo/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Binary file added go/cobra-demo/hugo
Binary file not shown.
7 changes: 7 additions & 0 deletions go/cobra-demo/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package main

import "cobra-demo/cmd"

func main() {
cmd.Execute()
}

0 comments on commit 9556af4

Please sign in to comment.