mirror of
https://github.com/Jguer/yay
synced 2024-10-31 04:12:51 +00:00
Simlify huge case statments
Instead of having true in every case, rely on the lack of fallthrough causing the default not to trigger. Moved handleConfig to parser.go
This commit is contained in:
parent
d9823e4230
commit
4e67c1e886
2 changed files with 158 additions and 350 deletions
156
cmd.go
156
cmd.go
|
@ -4,7 +4,6 @@ import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
|
||||||
|
|
||||||
alpm "github.com/jguer/go-alpm"
|
alpm "github.com/jguer/go-alpm"
|
||||||
)
|
)
|
||||||
|
@ -185,161 +184,6 @@ func handleHelp() error {
|
||||||
return show(passToPacman(cmdArgs))
|
return show(passToPacman(cmdArgs))
|
||||||
}
|
}
|
||||||
|
|
||||||
//this function should only set config options
|
|
||||||
//but currently still uses the switch left over from old code
|
|
||||||
//eventually this should be refactored out further
|
|
||||||
//my current plan is to have yay specific operations in its own operator
|
|
||||||
//e.g. yay -Y --gendb
|
|
||||||
//e.g yay -Yg
|
|
||||||
func handleConfig(option, value string) bool {
|
|
||||||
switch option {
|
|
||||||
case "save":
|
|
||||||
shouldSaveConfig = true
|
|
||||||
case "afterclean":
|
|
||||||
config.CleanAfter = true
|
|
||||||
case "noafterclean":
|
|
||||||
config.CleanAfter = false
|
|
||||||
case "devel":
|
|
||||||
config.Devel = true
|
|
||||||
case "nodevel":
|
|
||||||
config.Devel = false
|
|
||||||
case "timeupdate":
|
|
||||||
config.TimeUpdate = true
|
|
||||||
case "notimeupdate":
|
|
||||||
config.TimeUpdate = false
|
|
||||||
case "topdown":
|
|
||||||
config.SortMode = TopDown
|
|
||||||
case "bottomup":
|
|
||||||
config.SortMode = BottomUp
|
|
||||||
case "completioninterval":
|
|
||||||
n, err := strconv.Atoi(value)
|
|
||||||
if err == nil {
|
|
||||||
config.CompletionInterval = n
|
|
||||||
}
|
|
||||||
case "sortby":
|
|
||||||
config.SortBy = value
|
|
||||||
case "noconfirm":
|
|
||||||
config.NoConfirm = true
|
|
||||||
case "config":
|
|
||||||
config.PacmanConf = value
|
|
||||||
case "redownload":
|
|
||||||
config.ReDownload = "yes"
|
|
||||||
case "redownloadall":
|
|
||||||
config.ReDownload = "all"
|
|
||||||
case "noredownload":
|
|
||||||
config.ReDownload = "no"
|
|
||||||
case "rebuild":
|
|
||||||
config.ReBuild = "yes"
|
|
||||||
case "rebuildall":
|
|
||||||
config.ReBuild = "all"
|
|
||||||
case "rebuildtree":
|
|
||||||
config.ReBuild = "tree"
|
|
||||||
case "norebuild":
|
|
||||||
config.ReBuild = "no"
|
|
||||||
case "answerclean":
|
|
||||||
config.AnswerClean = value
|
|
||||||
case "noanswerclean":
|
|
||||||
config.AnswerClean = ""
|
|
||||||
case "answerdiff":
|
|
||||||
config.AnswerDiff = value
|
|
||||||
case "noanswerdiff":
|
|
||||||
config.AnswerDiff = ""
|
|
||||||
case "answeredit":
|
|
||||||
config.AnswerEdit = value
|
|
||||||
case "noansweredit":
|
|
||||||
config.AnswerEdit = ""
|
|
||||||
case "answerupgrade":
|
|
||||||
config.AnswerUpgrade = value
|
|
||||||
case "noanswerupgrade":
|
|
||||||
config.AnswerUpgrade = ""
|
|
||||||
case "gitclone":
|
|
||||||
config.GitClone = true
|
|
||||||
case "nogitclone":
|
|
||||||
config.GitClone = false
|
|
||||||
case "gpgflags":
|
|
||||||
config.GpgFlags = value
|
|
||||||
case "mflags":
|
|
||||||
config.MFlags = value
|
|
||||||
case "gitflags":
|
|
||||||
config.GitFlags = value
|
|
||||||
case "builddir":
|
|
||||||
config.BuildDir = value
|
|
||||||
case "editor":
|
|
||||||
config.Editor = value
|
|
||||||
case "editorflags":
|
|
||||||
config.EditorFlags = value
|
|
||||||
case "makepkg":
|
|
||||||
config.MakepkgBin = value
|
|
||||||
case "makepkgconf":
|
|
||||||
config.MakepkgConf = value
|
|
||||||
case "nomakepkgconf":
|
|
||||||
config.MakepkgConf = ""
|
|
||||||
case "pacman":
|
|
||||||
config.PacmanBin = value
|
|
||||||
case "tar":
|
|
||||||
config.TarBin = value
|
|
||||||
case "git":
|
|
||||||
config.GitBin = value
|
|
||||||
case "gpg":
|
|
||||||
config.GpgBin = value
|
|
||||||
case "requestsplitn":
|
|
||||||
if n, err := strconv.Atoi(value); err == nil && n > 0 {
|
|
||||||
config.RequestSplitN = n
|
|
||||||
}
|
|
||||||
case "sudoloop":
|
|
||||||
config.SudoLoop = true
|
|
||||||
case "nosudoloop":
|
|
||||||
config.SudoLoop = false
|
|
||||||
case "provides":
|
|
||||||
config.Provides = true
|
|
||||||
case "noprovides":
|
|
||||||
config.Provides = false
|
|
||||||
case "pgpfetch":
|
|
||||||
config.PGPFetch = true
|
|
||||||
case "nopgpfetch":
|
|
||||||
config.PGPFetch = false
|
|
||||||
case "upgrademenu":
|
|
||||||
config.UpgradeMenu = true
|
|
||||||
case "noupgrademenu":
|
|
||||||
config.UpgradeMenu = false
|
|
||||||
case "cleanmenu":
|
|
||||||
config.CleanMenu = true
|
|
||||||
case "nocleanmenu":
|
|
||||||
config.CleanMenu = false
|
|
||||||
case "diffmenu":
|
|
||||||
config.DiffMenu = true
|
|
||||||
case "nodiffmenu":
|
|
||||||
config.DiffMenu = false
|
|
||||||
case "editmenu":
|
|
||||||
config.EditMenu = true
|
|
||||||
case "noeditmenu":
|
|
||||||
config.EditMenu = false
|
|
||||||
case "useask":
|
|
||||||
config.UseAsk = true
|
|
||||||
case "nouseask":
|
|
||||||
config.UseAsk = false
|
|
||||||
case "combinedupgrade":
|
|
||||||
config.CombinedUpgrade = true
|
|
||||||
case "nocombinedupgrade":
|
|
||||||
config.CombinedUpgrade = false
|
|
||||||
case "a", "aur":
|
|
||||||
mode = ModeAUR
|
|
||||||
case "repo":
|
|
||||||
mode = ModeRepo
|
|
||||||
case "removemake":
|
|
||||||
config.RemoveMake = "yes"
|
|
||||||
case "noremovemake":
|
|
||||||
config.RemoveMake = "no"
|
|
||||||
case "askremovemake":
|
|
||||||
config.RemoveMake = "ask"
|
|
||||||
default:
|
|
||||||
// the option was not handled by the switch
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
// the option was successfully handled by the switch
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func handleVersion() {
|
func handleVersion() {
|
||||||
fmt.Printf("yay v%s - libalpm v%s\n", version, alpm.Version())
|
fmt.Printf("yay v%s - libalpm v%s\n", version, alpm.Version())
|
||||||
}
|
}
|
||||||
|
|
352
parser.go
352
parser.go
|
@ -347,415 +347,379 @@ func formatArg(arg string) string {
|
||||||
func isArg(arg string) bool {
|
func isArg(arg string) bool {
|
||||||
switch arg {
|
switch arg {
|
||||||
case "D", "database":
|
case "D", "database":
|
||||||
return true
|
|
||||||
case "Q", "query":
|
case "Q", "query":
|
||||||
return true
|
|
||||||
case "R", "remove":
|
case "R", "remove":
|
||||||
return true
|
|
||||||
case "S", "sync":
|
case "S", "sync":
|
||||||
return true
|
|
||||||
case "T", "deptest":
|
case "T", "deptest":
|
||||||
return true
|
|
||||||
case "U", "upgrade":
|
case "U", "upgrade":
|
||||||
return true
|
|
||||||
case "F", "files":
|
case "F", "files":
|
||||||
return true
|
|
||||||
case "V", "version":
|
case "V", "version":
|
||||||
return true
|
|
||||||
case "h", "help":
|
case "h", "help":
|
||||||
return true
|
|
||||||
case "Y", "yay":
|
case "Y", "yay":
|
||||||
return true
|
|
||||||
case "P", "print":
|
case "P", "print":
|
||||||
return true
|
|
||||||
case "G", "getpkgbuild":
|
case "G", "getpkgbuild":
|
||||||
return true
|
|
||||||
case "b", "dbpath":
|
case "b", "dbpath":
|
||||||
return true
|
|
||||||
case "r", "root":
|
case "r", "root":
|
||||||
return true
|
|
||||||
case "v", "verbose":
|
case "v", "verbose":
|
||||||
return true
|
|
||||||
case "arch":
|
case "arch":
|
||||||
return true
|
|
||||||
case "cachedir":
|
case "cachedir":
|
||||||
return true
|
|
||||||
case "color":
|
case "color":
|
||||||
return true
|
|
||||||
case "config":
|
case "config":
|
||||||
return true
|
|
||||||
case "debug":
|
case "debug":
|
||||||
return true
|
|
||||||
case "gpgdir":
|
case "gpgdir":
|
||||||
return true
|
|
||||||
case "hookdir":
|
case "hookdir":
|
||||||
return true
|
|
||||||
case "logfile":
|
case "logfile":
|
||||||
return true
|
|
||||||
case "noconfirm":
|
case "noconfirm":
|
||||||
return true
|
|
||||||
case "confirm":
|
case "confirm":
|
||||||
return true
|
|
||||||
case "disabledownloadtimeout":
|
case "disabledownloadtimeout":
|
||||||
return true
|
|
||||||
case "sysroot":
|
case "sysroot":
|
||||||
return true
|
|
||||||
case "d", "nodeps":
|
case "d", "nodeps":
|
||||||
return true
|
|
||||||
case "assumeinstalled":
|
case "assumeinstalled":
|
||||||
return true
|
|
||||||
case "dbonly":
|
case "dbonly":
|
||||||
return true
|
|
||||||
case "noprogressbar":
|
case "noprogressbar":
|
||||||
return true
|
|
||||||
case "noscriptlet":
|
case "noscriptlet":
|
||||||
return true
|
|
||||||
case "p":
|
case "p":
|
||||||
return true
|
|
||||||
case "printformat":
|
case "printformat":
|
||||||
return true
|
|
||||||
case "asdeps":
|
case "asdeps":
|
||||||
return true
|
|
||||||
case "asexplicit":
|
case "asexplicit":
|
||||||
return true
|
|
||||||
case "ignore":
|
case "ignore":
|
||||||
return true
|
|
||||||
case "ignoregroup":
|
case "ignoregroup":
|
||||||
return true
|
|
||||||
case "needed":
|
case "needed":
|
||||||
return true
|
|
||||||
case "overwrite":
|
case "overwrite":
|
||||||
return true
|
|
||||||
case "force":
|
case "force":
|
||||||
return true
|
|
||||||
case "c", "changelog":
|
case "c", "changelog":
|
||||||
return true
|
|
||||||
case "deps":
|
case "deps":
|
||||||
return true
|
|
||||||
case "e", "explicit":
|
case "e", "explicit":
|
||||||
return true
|
|
||||||
case "g", "groups":
|
case "g", "groups":
|
||||||
return true
|
|
||||||
case "i", "info":
|
case "i", "info":
|
||||||
return true
|
|
||||||
case "k", "check":
|
case "k", "check":
|
||||||
return true
|
|
||||||
case "l", "list":
|
case "l", "list":
|
||||||
return true
|
|
||||||
case "m", "foreign":
|
case "m", "foreign":
|
||||||
return true
|
|
||||||
case "n", "native":
|
case "n", "native":
|
||||||
return true
|
|
||||||
case "o", "owns":
|
case "o", "owns":
|
||||||
return true
|
|
||||||
case "file":
|
case "file":
|
||||||
return true
|
|
||||||
case "q", "quiet":
|
case "q", "quiet":
|
||||||
return true
|
|
||||||
case "s", "search":
|
case "s", "search":
|
||||||
return true
|
|
||||||
case "t", "unrequired":
|
case "t", "unrequired":
|
||||||
return true
|
|
||||||
case "u", "upgrades":
|
case "u", "upgrades":
|
||||||
return true
|
|
||||||
case "cascade":
|
case "cascade":
|
||||||
return true
|
|
||||||
case "nosave":
|
case "nosave":
|
||||||
return true
|
|
||||||
case "recursive":
|
case "recursive":
|
||||||
return true
|
|
||||||
case "unneeded":
|
case "unneeded":
|
||||||
return true
|
|
||||||
case "clean":
|
case "clean":
|
||||||
return true
|
|
||||||
case "sysupgrade":
|
case "sysupgrade":
|
||||||
return true
|
|
||||||
case "w", "downloadonly":
|
case "w", "downloadonly":
|
||||||
return true
|
|
||||||
case "y", "refresh":
|
case "y", "refresh":
|
||||||
return true
|
|
||||||
case "x", "regex":
|
case "x", "regex":
|
||||||
return true
|
|
||||||
case "machinereadable":
|
case "machinereadable":
|
||||||
return true
|
|
||||||
|
|
||||||
//yay options
|
//yay options
|
||||||
case "save":
|
case "save":
|
||||||
return true
|
|
||||||
case "afterclean":
|
case "afterclean":
|
||||||
return true
|
|
||||||
case "noafterclean":
|
case "noafterclean":
|
||||||
return true
|
|
||||||
case "devel":
|
case "devel":
|
||||||
return true
|
|
||||||
case "nodevel":
|
case "nodevel":
|
||||||
return true
|
|
||||||
case "timeupdate":
|
case "timeupdate":
|
||||||
return true
|
|
||||||
case "notimeupdate":
|
case "notimeupdate":
|
||||||
return true
|
|
||||||
case "topdown":
|
case "topdown":
|
||||||
return true
|
|
||||||
case "bottomup":
|
case "bottomup":
|
||||||
return true
|
|
||||||
case "completioninterval":
|
case "completioninterval":
|
||||||
return true
|
|
||||||
case "sortby":
|
case "sortby":
|
||||||
return true
|
|
||||||
case "redownload":
|
case "redownload":
|
||||||
return true
|
|
||||||
case "redownloadall":
|
case "redownloadall":
|
||||||
return true
|
|
||||||
case "noredownload":
|
case "noredownload":
|
||||||
return true
|
|
||||||
case "rebuild":
|
case "rebuild":
|
||||||
return true
|
|
||||||
case "rebuildall":
|
case "rebuildall":
|
||||||
return true
|
|
||||||
case "rebuildtree":
|
case "rebuildtree":
|
||||||
return true
|
|
||||||
case "norebuild":
|
case "norebuild":
|
||||||
return true
|
|
||||||
case "answerclean":
|
case "answerclean":
|
||||||
return true
|
|
||||||
case "noanswerclean":
|
case "noanswerclean":
|
||||||
return true
|
|
||||||
case "answerdiff":
|
case "answerdiff":
|
||||||
return true
|
|
||||||
case "noanswerdiff":
|
case "noanswerdiff":
|
||||||
return true
|
|
||||||
case "answeredit":
|
case "answeredit":
|
||||||
return true
|
|
||||||
case "noansweredit":
|
case "noansweredit":
|
||||||
return true
|
|
||||||
case "answerupgrade":
|
case "answerupgrade":
|
||||||
return true
|
|
||||||
case "noanswerupgrade":
|
case "noanswerupgrade":
|
||||||
return true
|
|
||||||
case "gitclone":
|
case "gitclone":
|
||||||
return true
|
|
||||||
case "nogitclone":
|
case "nogitclone":
|
||||||
return true
|
|
||||||
case "gpgflags":
|
case "gpgflags":
|
||||||
return true
|
|
||||||
case "mflags":
|
case "mflags":
|
||||||
return true
|
|
||||||
case "gitflags":
|
case "gitflags":
|
||||||
return true
|
|
||||||
case "builddir":
|
case "builddir":
|
||||||
return true
|
|
||||||
case "editor":
|
case "editor":
|
||||||
return true
|
|
||||||
case "editorflags":
|
case "editorflags":
|
||||||
return true
|
|
||||||
case "makepkg":
|
case "makepkg":
|
||||||
return true
|
|
||||||
case "makepkgconf":
|
case "makepkgconf":
|
||||||
return true
|
|
||||||
case "nomakepkgconf":
|
case "nomakepkgconf":
|
||||||
return true
|
|
||||||
case "pacman":
|
case "pacman":
|
||||||
return true
|
|
||||||
case "tar":
|
case "tar":
|
||||||
return true
|
|
||||||
case "git":
|
case "git":
|
||||||
return true
|
|
||||||
case "gpg":
|
case "gpg":
|
||||||
return true
|
|
||||||
case "requestsplitn":
|
case "requestsplitn":
|
||||||
return true
|
|
||||||
case "sudoloop":
|
case "sudoloop":
|
||||||
return true
|
|
||||||
case "nosudoloop":
|
case "nosudoloop":
|
||||||
return true
|
|
||||||
case "provides":
|
case "provides":
|
||||||
return true
|
|
||||||
case "noprovides":
|
case "noprovides":
|
||||||
return true
|
|
||||||
case "pgpfetch":
|
case "pgpfetch":
|
||||||
return true
|
|
||||||
case "nopgpfetch":
|
case "nopgpfetch":
|
||||||
return true
|
|
||||||
case "upgrademenu":
|
case "upgrademenu":
|
||||||
return true
|
|
||||||
case "noupgrademenu":
|
case "noupgrademenu":
|
||||||
return true
|
|
||||||
case "cleanmenu":
|
case "cleanmenu":
|
||||||
return true
|
|
||||||
case "nocleanmenu":
|
case "nocleanmenu":
|
||||||
return true
|
|
||||||
case "diffmenu":
|
case "diffmenu":
|
||||||
return true
|
|
||||||
case "nodiffmenu":
|
case "nodiffmenu":
|
||||||
return true
|
|
||||||
case "editmenu":
|
case "editmenu":
|
||||||
return true
|
|
||||||
case "noeditmenu":
|
case "noeditmenu":
|
||||||
return true
|
|
||||||
case "useask":
|
case "useask":
|
||||||
return true
|
|
||||||
case "nouseask":
|
case "nouseask":
|
||||||
return true
|
|
||||||
case "combinedupgrade":
|
case "combinedupgrade":
|
||||||
return true
|
|
||||||
case "nocombinedupgrade":
|
case "nocombinedupgrade":
|
||||||
return true
|
|
||||||
case "a", "aur":
|
case "a", "aur":
|
||||||
return true
|
|
||||||
case "repo":
|
case "repo":
|
||||||
return true
|
|
||||||
case "removemake":
|
case "removemake":
|
||||||
return true
|
|
||||||
case "noremovemake":
|
case "noremovemake":
|
||||||
return true
|
|
||||||
case "askremovemake":
|
case "askremovemake":
|
||||||
return true
|
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func handleConfig(option, value string) bool {
|
||||||
|
switch option {
|
||||||
|
case "save":
|
||||||
|
shouldSaveConfig = true
|
||||||
|
case "afterclean":
|
||||||
|
config.CleanAfter = true
|
||||||
|
case "noafterclean":
|
||||||
|
config.CleanAfter = false
|
||||||
|
case "devel":
|
||||||
|
config.Devel = true
|
||||||
|
case "nodevel":
|
||||||
|
config.Devel = false
|
||||||
|
case "timeupdate":
|
||||||
|
config.TimeUpdate = true
|
||||||
|
case "notimeupdate":
|
||||||
|
config.TimeUpdate = false
|
||||||
|
case "topdown":
|
||||||
|
config.SortMode = TopDown
|
||||||
|
case "bottomup":
|
||||||
|
config.SortMode = BottomUp
|
||||||
|
case "completioninterval":
|
||||||
|
n, err := strconv.Atoi(value)
|
||||||
|
if err == nil {
|
||||||
|
config.CompletionInterval = n
|
||||||
|
}
|
||||||
|
case "sortby":
|
||||||
|
config.SortBy = value
|
||||||
|
case "noconfirm":
|
||||||
|
config.NoConfirm = true
|
||||||
|
case "config":
|
||||||
|
config.PacmanConf = value
|
||||||
|
case "redownload":
|
||||||
|
config.ReDownload = "yes"
|
||||||
|
case "redownloadall":
|
||||||
|
config.ReDownload = "all"
|
||||||
|
case "noredownload":
|
||||||
|
config.ReDownload = "no"
|
||||||
|
case "rebuild":
|
||||||
|
config.ReBuild = "yes"
|
||||||
|
case "rebuildall":
|
||||||
|
config.ReBuild = "all"
|
||||||
|
case "rebuildtree":
|
||||||
|
config.ReBuild = "tree"
|
||||||
|
case "norebuild":
|
||||||
|
config.ReBuild = "no"
|
||||||
|
case "answerclean":
|
||||||
|
config.AnswerClean = value
|
||||||
|
case "noanswerclean":
|
||||||
|
config.AnswerClean = ""
|
||||||
|
case "answerdiff":
|
||||||
|
config.AnswerDiff = value
|
||||||
|
case "noanswerdiff":
|
||||||
|
config.AnswerDiff = ""
|
||||||
|
case "answeredit":
|
||||||
|
config.AnswerEdit = value
|
||||||
|
case "noansweredit":
|
||||||
|
config.AnswerEdit = ""
|
||||||
|
case "answerupgrade":
|
||||||
|
config.AnswerUpgrade = value
|
||||||
|
case "noanswerupgrade":
|
||||||
|
config.AnswerUpgrade = ""
|
||||||
|
case "gitclone":
|
||||||
|
config.GitClone = true
|
||||||
|
case "nogitclone":
|
||||||
|
config.GitClone = false
|
||||||
|
case "gpgflags":
|
||||||
|
config.GpgFlags = value
|
||||||
|
case "mflags":
|
||||||
|
config.MFlags = value
|
||||||
|
case "gitflags":
|
||||||
|
config.GitFlags = value
|
||||||
|
case "builddir":
|
||||||
|
config.BuildDir = value
|
||||||
|
case "editor":
|
||||||
|
config.Editor = value
|
||||||
|
case "editorflags":
|
||||||
|
config.EditorFlags = value
|
||||||
|
case "makepkg":
|
||||||
|
config.MakepkgBin = value
|
||||||
|
case "makepkgconf":
|
||||||
|
config.MakepkgConf = value
|
||||||
|
case "nomakepkgconf":
|
||||||
|
config.MakepkgConf = ""
|
||||||
|
case "pacman":
|
||||||
|
config.PacmanBin = value
|
||||||
|
case "tar":
|
||||||
|
config.TarBin = value
|
||||||
|
case "git":
|
||||||
|
config.GitBin = value
|
||||||
|
case "gpg":
|
||||||
|
config.GpgBin = value
|
||||||
|
case "requestsplitn":
|
||||||
|
n, err := strconv.Atoi(value)
|
||||||
|
if err == nil && n > 0 {
|
||||||
|
config.RequestSplitN = n
|
||||||
|
}
|
||||||
|
case "sudoloop":
|
||||||
|
config.SudoLoop = true
|
||||||
|
case "nosudoloop":
|
||||||
|
config.SudoLoop = false
|
||||||
|
case "provides":
|
||||||
|
config.Provides = true
|
||||||
|
case "noprovides":
|
||||||
|
config.Provides = false
|
||||||
|
case "pgpfetch":
|
||||||
|
config.PGPFetch = true
|
||||||
|
case "nopgpfetch":
|
||||||
|
config.PGPFetch = false
|
||||||
|
case "upgrademenu":
|
||||||
|
config.UpgradeMenu = true
|
||||||
|
case "noupgrademenu":
|
||||||
|
config.UpgradeMenu = false
|
||||||
|
case "cleanmenu":
|
||||||
|
config.CleanMenu = true
|
||||||
|
case "nocleanmenu":
|
||||||
|
config.CleanMenu = false
|
||||||
|
case "diffmenu":
|
||||||
|
config.DiffMenu = true
|
||||||
|
case "nodiffmenu":
|
||||||
|
config.DiffMenu = false
|
||||||
|
case "editmenu":
|
||||||
|
config.EditMenu = true
|
||||||
|
case "noeditmenu":
|
||||||
|
config.EditMenu = false
|
||||||
|
case "useask":
|
||||||
|
config.UseAsk = true
|
||||||
|
case "nouseask":
|
||||||
|
config.UseAsk = false
|
||||||
|
case "combinedupgrade":
|
||||||
|
config.CombinedUpgrade = true
|
||||||
|
case "nocombinedupgrade":
|
||||||
|
config.CombinedUpgrade = false
|
||||||
|
case "a", "aur":
|
||||||
|
mode = ModeAUR
|
||||||
|
case "repo":
|
||||||
|
mode = ModeRepo
|
||||||
|
case "removemake":
|
||||||
|
config.RemoveMake = "yes"
|
||||||
|
case "noremovemake":
|
||||||
|
config.RemoveMake = "no"
|
||||||
|
case "askremovemake":
|
||||||
|
config.RemoveMake = "ask"
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func isOp(op string) bool {
|
func isOp(op string) bool {
|
||||||
switch op {
|
switch op {
|
||||||
case "V", "version":
|
case "V", "version":
|
||||||
return true
|
|
||||||
case "D", "database":
|
case "D", "database":
|
||||||
return true
|
|
||||||
case "F", "files":
|
case "F", "files":
|
||||||
return true
|
|
||||||
case "Q", "query":
|
case "Q", "query":
|
||||||
return true
|
|
||||||
case "R", "remove":
|
case "R", "remove":
|
||||||
return true
|
|
||||||
case "S", "sync":
|
case "S", "sync":
|
||||||
return true
|
|
||||||
case "T", "deptest":
|
case "T", "deptest":
|
||||||
return true
|
|
||||||
case "U", "upgrade":
|
case "U", "upgrade":
|
||||||
return true
|
// yay specific
|
||||||
|
|
||||||
// yay specific
|
|
||||||
case "Y", "yay":
|
case "Y", "yay":
|
||||||
return true
|
|
||||||
case "P", "print":
|
case "P", "print":
|
||||||
return true
|
|
||||||
case "G", "getpkgbuild":
|
case "G", "getpkgbuild":
|
||||||
return true
|
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func isGlobal(op string) bool {
|
func isGlobal(op string) bool {
|
||||||
switch op {
|
switch op {
|
||||||
case "b", "dbpath":
|
case "b", "dbpath":
|
||||||
return true
|
|
||||||
case "r", "root":
|
case "r", "root":
|
||||||
return true
|
|
||||||
case "v", "verbose":
|
case "v", "verbose":
|
||||||
return true
|
|
||||||
case "arch":
|
case "arch":
|
||||||
return true
|
|
||||||
case "cachedir":
|
case "cachedir":
|
||||||
return true
|
|
||||||
case "color":
|
case "color":
|
||||||
return true
|
|
||||||
case "config":
|
case "config":
|
||||||
return true
|
|
||||||
case "debug":
|
case "debug":
|
||||||
return true
|
|
||||||
case "gpgdir":
|
case "gpgdir":
|
||||||
return true
|
|
||||||
case "hookdir":
|
case "hookdir":
|
||||||
return true
|
|
||||||
case "logfile":
|
case "logfile":
|
||||||
return true
|
|
||||||
case "noconfirm":
|
case "noconfirm":
|
||||||
return true
|
|
||||||
case "confirm":
|
case "confirm":
|
||||||
return true
|
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func hasParam(arg string) bool {
|
func hasParam(arg string) bool {
|
||||||
switch arg {
|
switch arg {
|
||||||
case "dbpath", "b":
|
case "dbpath", "b":
|
||||||
return true
|
|
||||||
case "root", "r":
|
case "root", "r":
|
||||||
return true
|
|
||||||
case "sysroot":
|
case "sysroot":
|
||||||
return true
|
|
||||||
case "config":
|
case "config":
|
||||||
return true
|
|
||||||
case "ignore":
|
case "ignore":
|
||||||
return true
|
|
||||||
case "assume-installed":
|
case "assume-installed":
|
||||||
return true
|
|
||||||
case "overwrite":
|
case "overwrite":
|
||||||
return true
|
|
||||||
case "ask":
|
case "ask":
|
||||||
return true
|
|
||||||
case "cachedir":
|
case "cachedir":
|
||||||
return true
|
|
||||||
case "hookdir":
|
case "hookdir":
|
||||||
return true
|
|
||||||
case "logfile":
|
case "logfile":
|
||||||
return true
|
|
||||||
case "ignoregroup":
|
case "ignoregroup":
|
||||||
return true
|
|
||||||
case "arch":
|
case "arch":
|
||||||
return true
|
|
||||||
case "print-format":
|
case "print-format":
|
||||||
return true
|
|
||||||
case "gpgdir":
|
case "gpgdir":
|
||||||
return true
|
|
||||||
case "color":
|
case "color":
|
||||||
return true
|
|
||||||
|
|
||||||
//yay params
|
//yay params
|
||||||
case "mflags":
|
case "mflags":
|
||||||
return true
|
|
||||||
case "gpgflags":
|
case "gpgflags":
|
||||||
return true
|
|
||||||
case "gitflags":
|
case "gitflags":
|
||||||
return true
|
|
||||||
case "builddir":
|
case "builddir":
|
||||||
return true
|
|
||||||
case "editor":
|
case "editor":
|
||||||
return true
|
|
||||||
case "editorflags":
|
case "editorflags":
|
||||||
return true
|
|
||||||
case "makepkg":
|
case "makepkg":
|
||||||
return true
|
|
||||||
case "makepkgconf":
|
case "makepkgconf":
|
||||||
return true
|
|
||||||
case "pacman":
|
case "pacman":
|
||||||
return true
|
|
||||||
case "tar":
|
case "tar":
|
||||||
return true
|
|
||||||
case "git":
|
case "git":
|
||||||
return true
|
|
||||||
case "gpg":
|
case "gpg":
|
||||||
return true
|
|
||||||
case "requestsplitn":
|
case "requestsplitn":
|
||||||
return true
|
|
||||||
case "answerclean":
|
case "answerclean":
|
||||||
return true
|
|
||||||
case "answerdiff":
|
case "answerdiff":
|
||||||
return true
|
|
||||||
case "answeredit":
|
case "answeredit":
|
||||||
return true
|
|
||||||
case "answerupgrade":
|
case "answerupgrade":
|
||||||
return true
|
|
||||||
case "completioninterval":
|
case "completioninterval":
|
||||||
return true
|
|
||||||
case "sortby":
|
case "sortby":
|
||||||
return true
|
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parses short hand options such as:
|
// Parses short hand options such as:
|
||||||
|
|
Loading…
Reference in a new issue