mirror of
https://github.com/go-task/task.git
synced 2026-06-29 23:55:18 +00:00
update deps
This commit is contained in:
17
vendor/github.com/mvdan/sh/interp/builtin.go
generated
vendored
17
vendor/github.com/mvdan/sh/interp/builtin.go
generated
vendored
@@ -142,21 +142,20 @@ func (r *Runner) builtinCode(pos syntax.Pos, name string, args []string) int {
|
||||
case "pwd":
|
||||
r.outf("%s\n", r.getVar("PWD"))
|
||||
case "cd":
|
||||
if len(args) > 1 {
|
||||
var dir string
|
||||
switch len(args) {
|
||||
case 0:
|
||||
dir = r.getVar("HOME")
|
||||
case 1:
|
||||
dir = args[0]
|
||||
default:
|
||||
r.errf("usage: cd [dir]\n")
|
||||
return 2
|
||||
}
|
||||
var dir string
|
||||
if len(args) == 0 {
|
||||
dir = r.getVar("HOME")
|
||||
} else {
|
||||
dir = args[0]
|
||||
}
|
||||
if !filepath.IsAbs(dir) {
|
||||
dir = filepath.Join(r.Dir, dir)
|
||||
}
|
||||
_, err := os.Stat(dir)
|
||||
if err != nil {
|
||||
if _, err := os.Stat(dir); err != nil {
|
||||
return 1
|
||||
}
|
||||
r.Dir = dir
|
||||
|
||||
39
vendor/github.com/mvdan/sh/interp/interp.go
generated
vendored
39
vendor/github.com/mvdan/sh/interp/interp.go
generated
vendored
@@ -232,33 +232,47 @@ func fieldJoin(parts []fieldPart) string {
|
||||
return buf.String()
|
||||
}
|
||||
|
||||
func escapeQuotedParts(parts []fieldPart) string {
|
||||
func escapedGlob(parts []fieldPart) (escaped string, glob bool) {
|
||||
var buf bytes.Buffer
|
||||
for _, part := range parts {
|
||||
if !part.quoted {
|
||||
buf.WriteString(part.val)
|
||||
continue
|
||||
}
|
||||
for _, r := range part.val {
|
||||
switch r {
|
||||
case '*', '?', '\\', '[':
|
||||
buf.WriteByte('\\')
|
||||
if part.quoted {
|
||||
buf.WriteByte('\\')
|
||||
} else {
|
||||
glob = true
|
||||
}
|
||||
}
|
||||
buf.WriteRune(r)
|
||||
}
|
||||
}
|
||||
return buf.String()
|
||||
return buf.String(), glob
|
||||
}
|
||||
|
||||
func (r *Runner) fields(words []*syntax.Word) []string {
|
||||
fields := make([]string, 0, len(words))
|
||||
baseDir, _ := escapedGlob([]fieldPart{{val: r.Dir}})
|
||||
for _, word := range words {
|
||||
for _, field := range r.wordFields(word.Parts, false) {
|
||||
matches, _ := filepath.Glob(escapeQuotedParts(field))
|
||||
if len(matches) > 0 {
|
||||
fields = append(fields, matches...)
|
||||
} else {
|
||||
path, glob := escapedGlob(field)
|
||||
var matches []string
|
||||
abs := filepath.IsAbs(path)
|
||||
if glob {
|
||||
if !abs {
|
||||
path = filepath.Join(baseDir, path)
|
||||
}
|
||||
matches, _ = filepath.Glob(path)
|
||||
}
|
||||
if len(matches) == 0 {
|
||||
fields = append(fields, fieldJoin(field))
|
||||
continue
|
||||
}
|
||||
for _, match := range matches {
|
||||
if !abs {
|
||||
match, _ = filepath.Rel(baseDir, match)
|
||||
}
|
||||
fields = append(fields, match)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -494,7 +508,8 @@ func (r *Runner) cmd(cm syntax.Command) {
|
||||
for _, word := range ci.Patterns {
|
||||
var buf bytes.Buffer
|
||||
for _, field := range r.wordFields(word.Parts, false) {
|
||||
buf.WriteString(escapeQuotedParts(field))
|
||||
escaped, _ := escapedGlob(field)
|
||||
buf.WriteString(escaped)
|
||||
}
|
||||
if match(buf.String(), str) {
|
||||
r.stmts(ci.Stmts)
|
||||
|
||||
3
vendor/github.com/mvdan/sh/interp/test.go
generated
vendored
3
vendor/github.com/mvdan/sh/interp/test.go
generated
vendored
@@ -27,7 +27,8 @@ func (r *Runner) bashTest(expr syntax.TestExpr) string {
|
||||
var buf bytes.Buffer
|
||||
yw := x.Y.(*syntax.Word)
|
||||
for _, field := range r.wordFields(yw.Parts, false) {
|
||||
buf.WriteString(escapeQuotedParts(field))
|
||||
escaped, _ := escapedGlob(field)
|
||||
buf.WriteString(escaped)
|
||||
}
|
||||
if match(buf.String(), str) == (x.Op == syntax.TsMatch) {
|
||||
return "1"
|
||||
|
||||
17
vendor/github.com/satori/go.uuid/uuid.go
generated
vendored
17
vendor/github.com/satori/go.uuid/uuid.go
generated
vendored
@@ -251,12 +251,18 @@ func (u *UUID) UnmarshalText(text []byte) (err error) {
|
||||
b := u[:]
|
||||
|
||||
for i, byteGroup := range byteGroups {
|
||||
if i > 0 {
|
||||
if t[0] != '-' {
|
||||
err = fmt.Errorf("uuid: invalid string format")
|
||||
if i > 0 && t[0] == '-' {
|
||||
t = t[1:]
|
||||
} else if i > 0 && t[0] != '-' {
|
||||
err = fmt.Errorf("uuid: invalid string format")
|
||||
return
|
||||
}
|
||||
|
||||
if i == 2 {
|
||||
if !bytes.Contains([]byte("012345"), []byte{t[0]}) {
|
||||
err = fmt.Errorf("uuid: invalid version number: %s", t[0])
|
||||
return
|
||||
}
|
||||
t = t[1:]
|
||||
}
|
||||
|
||||
if len(t) < byteGroup {
|
||||
@@ -266,11 +272,12 @@ func (u *UUID) UnmarshalText(text []byte) (err error) {
|
||||
|
||||
if i == 4 && len(t) > byteGroup &&
|
||||
((braced && t[byteGroup] != '}') || len(t[byteGroup:]) > 1 || !braced) {
|
||||
err = fmt.Errorf("uuid: UUID string too long: %s", text)
|
||||
err = fmt.Errorf("uuid: UUID string too long: %s", t)
|
||||
return
|
||||
}
|
||||
|
||||
_, err = hex.Decode(b[:byteGroup/2], t[:byteGroup])
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user