commit fb19f738e743784b69636ba4768db8063f1da72f
parent ffb90feb741c97541c17a7b1bf3914106ec231ec
Author: Sean Enck <sean@ttypty.com>
Date: Wed, 15 Feb 2023 20:35:20 -0500
replace shlex
Diffstat:
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/go.mod b/go.mod
@@ -4,9 +4,9 @@ go 1.19
require (
github.com/aymanbagabas/go-osc52 v1.2.1
- github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
github.com/pquerna/otp v1.4.0
github.com/tobischo/gokeepasslib/v3 v3.5.0
+ mvdan.cc/sh/v3 v3.6.0
)
require (
diff --git a/go.sum b/go.sum
@@ -9,13 +9,15 @@ github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyX
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
-github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
-github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg=
github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
+github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
@@ -27,3 +29,5 @@ golang.org/x/exp v0.0.0-20230105202349-8879d0199aa3 h1:fJwx88sMf5RXwDwziL0/Mn9Wq
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+mvdan.cc/sh/v3 v3.6.0 h1:gtva4EXJ0dFNvl5bHjcUEvws+KRcDslT8VKheTYkbGU=
+mvdan.cc/sh/v3 v3.6.0/go.mod h1:U4mhtBLZ32iWhif5/lD+ygy1zrgaQhUu+XFy7C8+TTA=
diff --git a/internal/inputs/env.go b/internal/inputs/env.go
@@ -11,7 +11,7 @@ import (
"strings"
"time"
- "github.com/google/shlex"
+ "mvdan.cc/sh/v3/shell"
)
const (
@@ -202,11 +202,16 @@ func GetKey() ([]byte, error) {
return b, nil
}
+// Shlex will do simple shell command lex-ing
+func Shlex(in string) ([]string, error) {
+ return shell.Fields(in, os.Getenv)
+}
+
func getKey(keyMode, name string) ([]byte, error) {
var data []byte
switch keyMode {
case commandKeyMode:
- parts, err := shlex.Split(name)
+ parts, err := Shlex(name)
if err != nil {
return nil, err
}
diff --git a/internal/platform/clipboard.go b/internal/platform/clipboard.go
@@ -10,7 +10,6 @@ import (
osc "github.com/aymanbagabas/go-osc52"
"github.com/enckse/lockbox/internal/inputs"
- "github.com/google/shlex"
)
type (
@@ -36,7 +35,7 @@ func overrideCommand(v string) ([]string, error) {
if strings.TrimSpace(value) == "" {
return nil, nil
}
- return shlex.Split(value)
+ return inputs.Shlex(value)
}
// NewClipboard will retrieve the commands to use for clipboard operations.