fix(parity): restore updated behavior suite compatibility
This commit is contained in:
@@ -257,21 +257,61 @@ func normalizeArgs(args []string) []string {
|
||||
return []string{"--help"}
|
||||
}
|
||||
|
||||
switch args[0] {
|
||||
prefix, rest := splitLeadingGlobalFlags(args)
|
||||
if len(rest) == 0 {
|
||||
return args
|
||||
}
|
||||
|
||||
switch rest[0] {
|
||||
case "-h", "--help":
|
||||
return []string{"--help"}
|
||||
case "help":
|
||||
if len(args) == 1 {
|
||||
if len(rest) == 1 {
|
||||
return []string{"--help"}
|
||||
}
|
||||
return append(args[1:], "--help")
|
||||
normalized := append([]string{}, prefix...)
|
||||
normalized = append(normalized, rest[1:]...)
|
||||
return append(normalized, "--help")
|
||||
case "-v", "--version":
|
||||
return []string{"version"}
|
||||
case "symlink":
|
||||
normalized := append([]string{}, prefix...)
|
||||
normalized = append(normalized, "link")
|
||||
return append(normalized, rest[1:]...)
|
||||
case "commit":
|
||||
if len(rest) == 3 && !hasCommitMessageFlag(rest[1:]) {
|
||||
normalized := append([]string{}, prefix...)
|
||||
return append(normalized, "commit", "-m", rest[2], rest[1])
|
||||
}
|
||||
return args
|
||||
default:
|
||||
return args
|
||||
}
|
||||
}
|
||||
|
||||
func splitLeadingGlobalFlags(args []string) ([]string, []string) {
|
||||
i := 0
|
||||
for i < len(args) {
|
||||
switch args[i] {
|
||||
case "--pretend", "--dry-run", "--quiet":
|
||||
i++
|
||||
default:
|
||||
return args[:i], args[i:]
|
||||
}
|
||||
}
|
||||
|
||||
return args, nil
|
||||
}
|
||||
|
||||
func hasCommitMessageFlag(args []string) bool {
|
||||
for _, arg := range args {
|
||||
if arg == "-m" || strings.HasPrefix(arg, "--MESSAGE") || strings.HasPrefix(arg, "--message") {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func isHelpRequest(args []string) bool {
|
||||
for _, arg := range args {
|
||||
if arg == "-h" || arg == "--help" {
|
||||
|
||||
Reference in New Issue
Block a user