Skip to content

Commit 46f5091

Browse files
authored
Update main.go
1 parent 8dbfefb commit 46f5091

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

main.go

+34-35
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,33 @@ import (
1818
)
1919

2020
type config struct {
21-
oFlag bool
22-
rFlag bool
23-
uFlag bool
21+
orgFlag bool
22+
repoFlag bool
23+
userFlag bool
2424
maxFlag int
25-
cFlag bool
26-
ghFlag bool
27-
glFlag bool
28-
sFlag bool
29-
vFlag bool
25+
cleanFlag bool
26+
ghOnlyFlag bool
27+
glOnlyFlag bool
28+
simpleFlag bool
29+
verboseFlag bool
3030
}
3131

3232
var (
33-
flags = config{}
34-
urlRegexp = regexp.MustCompile(`^https?://(?:www\.)?([^/]+)`)
35-
spaceRegexp = regexp.MustCompile(`\s+`)
36-
wordPatterns = []string{"", "-", ""}
33+
flags = config{}
34+
urlRegexp = regexp.MustCompile(`^https?://(?:www\.)?([^/]+)`)
35+
spaceRegexp = regexp.MustCompile(`\s+`)
3736
)
3837

3938
func init() {
40-
flag.BoolVar(&flags.oFlag, "o", false, "search for organization names")
41-
flag.BoolVar(&flags.rFlag, "r", false, "search for repository names")
42-
flag.BoolVar(&flags.uFlag, "u", false, "search for username matches")
39+
flag.BoolVar(&flags.orgFlag, "o", false, "search for organization names")
40+
flag.BoolVar(&flags.repoFlag, "r", false, "search for repository names")
41+
flag.BoolVar(&flags.userFlag, "u", false, "search for username matches")
4342
flag.IntVar(&flags.maxFlag, "max", 10, "maximum search results per category")
44-
flag.BoolVar(&flags.cFlag, "c", false, "clean input URLs")
45-
flag.BoolVar(&flags.ghFlag, "gh", false, "search only GitHub")
46-
flag.BoolVar(&flags.glFlag, "gl", false, "search only GitLab")
47-
flag.BoolVar(&flags.sFlag, "s", false, "simple output style for piping to another tool")
48-
flag.BoolVar(&flags.vFlag, "v", false, "enable verbose mode")
43+
flag.BoolVar(&flags.cleanFlag, "c", false, "clean input URLs")
44+
flag.BoolVar(&flags.ghOnlyFlag, "gh", false, "search only GitHub")
45+
flag.BoolVar(&flags.glOnlyFlag, "gl", false, "search only GitLab")
46+
flag.BoolVar(&flags.simpleFlag, "s", false, "simple output style for piping to another tool")
47+
flag.BoolVar(&flags.verboseFlag, "v", false, "enable verbose mode")
4948
}
5049

5150
func main() {
@@ -62,15 +61,15 @@ func main() {
6261
}
6362

6463
func validateFlags(cfg config) {
65-
if !(cfg.oFlag || cfg.rFlag || cfg.uFlag) {
64+
if !(cfg.orgFlag || cfg.repoFlag || cfg.userFlag) {
6665
fmt.Println("At least one search flag (-o, -r, or -u) must be specified")
6766
os.Exit(1)
6867
}
6968
verbosePrint("Flags validated.\n")
7069
}
7170

7271
func verbosePrint(format string, a ...interface{}) {
73-
if flags.vFlag {
72+
if flags.verboseFlag {
7473
fmt.Printf(format, a...)
7574
}
7675
}
@@ -96,7 +95,7 @@ func readAndCleanWords(cfg config, args []string) map[string]struct{} {
9695
}
9796

9897
func processWord(word string, words map[string]struct{}, cfg config) {
99-
if cfg.cFlag {
98+
if cfg.cleanFlag {
10099
word = cleanWord(word)
101100
}
102101

@@ -123,7 +122,7 @@ func checkScannerError(scanner *bufio.Scanner) {
123122
}
124123

125124
func searchPlatforms(words map[string]struct{}, cfg config) {
126-
ghClient, ghErr := createGithubClient()
125+
ghClient, ghErr := createGitHubClient()
127126
glClient, glErr := createGitLabClient()
128127

129128
if ghErr != nil {
@@ -135,12 +134,12 @@ func searchPlatforms(words map[string]struct{}, cfg config) {
135134
}
136135

137136
for word := range words {
138-
if !cfg.glFlag && ghErr == nil {
137+
if !cfg.glOnlyFlag && ghErr == nil {
139138
verbosePrint("Searching GitHub for word: %s\n", word)
140139
searchGitHub(ghClient, word, cfg)
141140
}
142141

143-
if !cfg.ghFlag && glErr == nil {
142+
if !cfg.ghOnlyFlag && glErr == nil {
144143
verbosePrint("Searching GitLab for word: %s\n", word)
145144
searchGitLab(glClient, word, cfg)
146145
}
@@ -166,15 +165,15 @@ func searchGitHub(client *github.Client, query string, cfg config) {
166165
return
167166
}
168167

169-
if cfg.oFlag {
168+
if cfg.orgFlag {
170169
searchGitHubOrganizations(client, query, cfg.maxFlag)
171170
}
172171

173-
if cfg.rFlag {
172+
if cfg.repoFlag {
174173
searchGitHubRepositories(client, query, cfg.maxFlag)
175174
}
176175

177-
if cfg.uFlag {
176+
if cfg.userFlag {
178177
searchGitHubUsers(client, query, cfg.maxFlag)
179178
}
180179
}
@@ -184,11 +183,11 @@ func searchGitLab(client *gitlab.Client, query string, cfg config) {
184183
return
185184
}
186185

187-
if cfg.oFlag || cfg.uFlag {
186+
if cfg.orgFlag || cfg.userFlag {
188187
searchGitLabGroupsAndUsers(client, query, cfg.maxFlag)
189188
}
190189

191-
if cfg.rFlag {
190+
if cfg.repoFlag {
192191
searchGitLabProjects(client, query, cfg.maxFlag)
193192
}
194193
}
@@ -247,7 +246,7 @@ func searchGitHubUsers(client *github.Client, query string, maxResults int) {
247246
printResults(fmt.Sprintf("GitHub users matching '%s'", query), userLogins)
248247
}
249248

250-
func createGithubClient() (*github.Client, error) {
249+
func createGitHubClient() (*github.Client, error) {
251250
ctx := context.Background()
252251
token := os.Getenv("GITHUB_ACCESS_TOKEN")
253252
if token == "" {
@@ -289,7 +288,7 @@ func searchGitLabGroupsAndUsers(client *gitlab.Client, query string, maxResults
289288
return
290289
}
291290

292-
if flags.oFlag {
291+
if flags.orgFlag {
293292
groupFullPaths := make([]string, len(groups))
294293
for i, group := range groups {
295294
groupFullPaths[i] = group.FullPath
@@ -304,7 +303,7 @@ func searchGitLabGroupsAndUsers(client *gitlab.Client, query string, maxResults
304303
return
305304
}
306305

307-
if flags.uFlag {
306+
if flags.userFlag {
308307
userUsernames := make([]string, len(users))
309308
for i, user := range users {
310309
userUsernames[i] = user.Username
@@ -345,7 +344,7 @@ func createGitLabClient() (*gitlab.Client, error) {
345344
}
346345

347346
func printResults(header string, results []string) {
348-
if flags.sFlag {
347+
if flags.simpleFlag {
349348
for _, result := range results {
350349
fmt.Println(result)
351350
}

0 commit comments

Comments
 (0)