Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
yossydev committed Oct 22, 2023
0 parents commit 5367232
Show file tree
Hide file tree
Showing 8 changed files with 118 additions and 0 deletions.
Empty file added LICENSE
Empty file.
30 changes: 30 additions & 0 deletions cmd/addLgtm.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package cmd

import (
"fmt"
"github.com/spf13/cobra"
)

var lgtms = []string{
"Looks good to me!",
"Perfect!",
"Great work!",
"Nice job!",
"Keep it up!",
}

var addLgtmCmd = &cobra.Command{
Use: "addLgtm",
Short: "Add a new LGTM message",
Long: `This command allows you to add a new LGTM message to the list of messages.`,
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
lgtms = append(lgtms, args[0])
fmt.Printf("Added new LGTM message: '%s'\n", args[0])
},
}

func init() {
rootCmd.AddCommand(addLgtmCmd)
}

33 changes: 33 additions & 0 deletions cmd/getLgtm.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package cmd

import (
"fmt"
"math/rand"
"time"
"github.com/spf13/cobra"
)

var emojis = []string{
"😀", "😃", "😄", "😁", "😆", "😅", "😂", "🤣", "😊", "😇",
"🙂", "🙃", "😉", "😌", "😍", "🥰", "😘", "😗", "😙", "😚",
"😋", "😛", "😝", "😜", "🤪", "🤨", "🧐", "🤓", "😎", "🥸",
"😏", "😒", "😫", "😩", "🥺", "😢", "😭", "😤", "🤯", "😳",
"🤗", "🤭", "🤫", "😬", "😴", "🤤", "🥴", "🤑", "🤠", "😈",
"👹", "👺", "🤡", "👻", "💀", "👽", "👾", "🤖", "🎃", "😺",
"😸", "😹", "😻", "😼", "😽",
}

var getLgtmCmd = &cobra.Command{
Use: "getLgtm",
Short: "Get a random LGTM message",
Long: `This command allows you to get a random LGTM message from the list of messages.`,
Run: func(cmd *cobra.Command, args []string) {
rand.Seed(time.Now().UnixNano())
selectedEmoji := emojis[rand.Intn(len(emojis))]
fmt.Printf("%s %s %s\n", selectedEmoji, lgtms[rand.Intn(len(lgtms))], selectedEmoji)
},
}

func init() {
rootCmd.AddCommand(getLgtmCmd)
}
25 changes: 25 additions & 0 deletions cmd/root.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package cmd

import (
"fmt"
"os"

"github.com/spf13/cobra"
)

var rootCmd = &cobra.Command{
Use: "lgtmapp",
Short: "LGTM message generator",
Long: `This is a CLI tool for generating and managing LGTM messages.`,
}

func Execute() {
if err := rootCmd.Execute(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}

func main() {
Execute()
}
9 changes: 9 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module auto-lgtm

go 1.21.0

require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/spf13/cobra v1.7.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
)
10 changes: 10 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
github.com/cpuguy83/go-md2man/v2 v2.0.2/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.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
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 lgtmapp
Binary file not shown.
11 changes: 11 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/*
Copyright © 2023 NAME HERE <EMAIL ADDRESS>
*/
package main

import "auto-lgtm/cmd"

func main() {
cmd.Execute()
}

0 comments on commit 5367232

Please sign in to comment.