summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEyal Posener <[email protected]>2018-09-09 17:48:54 +0300
committerGitHub <[email protected]>2018-09-09 17:48:54 +0300
commit217cfb65b2739a48779cbcf8692ac76ee3e62ae3 (patch)
treef3b7398f3a2363e9a9a4f37fe4540e45044073e6
parentdcda3199365ca2a5f24aea4c42aa56f6a197d117 (diff)
parentdcfd7da4e1804e7fa63d06a2071e68e8e347c40b (diff)
Merge pull request #68 from posener/go111
Add support for go1.11
-rw-r--r--.gitignore2
-rw-r--r--.travis.yml7
-rw-r--r--cmd/install/fish.go2
-rw-r--r--go.mod3
-rw-r--r--go.sum4
-rw-r--r--gocomplete/complete.go130
-rw-r--r--gocomplete/go.mod6
-rw-r--r--gocomplete/go.sum6
-rw-r--r--log.go3
-rw-r--r--metalinter.json21
10 files changed, 151 insertions, 33 deletions
diff --git a/.gitignore b/.gitignore
index 1363720..293955f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
.idea
coverage.txt
+gocomplete/gocomplete
+example/self/self
diff --git a/.travis.yml b/.travis.yml
index c2798f8..2fae945 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,17 +1,16 @@
language: go
sudo: false
go:
+ - 1.11
+ - 1.10.x
- 1.9
- 1.8
before_install:
- go get -u -t ./...
- - go get -u gopkg.in/alecthomas/gometalinter.v1
- - gometalinter.v1 --install
script:
- - gometalinter.v1 --config metalinter.json ./...
- - ./test.sh
+ - GO111MODULE=on ./test.sh
after_success:
- bash <(curl -s https://codecov.io/bash)
diff --git a/cmd/install/fish.go b/cmd/install/fish.go
index f04e7c3..6b588db 100644
--- a/cmd/install/fish.go
+++ b/cmd/install/fish.go
@@ -46,5 +46,5 @@ end
complete -c {{.Cmd}} -a "(__complete_{{.Cmd}})"
`)).Execute(&buf, params)
- return string(buf.Bytes())
+ return buf.String()
}
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..fef0c44
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,3 @@
+module github.com/posener/complete
+
+require github.com/hashicorp/go-multierror v1.0.0
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..d2f1330
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,4 @@
+github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
+github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o=
+github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
diff --git a/gocomplete/complete.go b/gocomplete/complete.go
index 7b95c1a..95f2002 100644
--- a/gocomplete/complete.go
+++ b/gocomplete/complete.go
@@ -449,7 +449,7 @@ func main() {
"-unusedfuncs": complete.PredictAnything,
"-unusedresult": complete.PredictNothing,
"-unusedstringmethods": complete.PredictAnything,
- "-v": complete.PredictNothing,
+ "-v": complete.PredictNothing,
},
Args: anyGo,
},
@@ -458,10 +458,13 @@ func main() {
clean := complete.Command{
Flags: complete.Flags{
- "-i": complete.PredictNothing,
- "-r": complete.PredictNothing,
- "-n": complete.PredictNothing,
- "-x": complete.PredictNothing,
+ "-i": complete.PredictNothing,
+ "-r": complete.PredictNothing,
+ "-n": complete.PredictNothing,
+ "-x": complete.PredictNothing,
+ "-cache": complete.PredictNothing,
+ "-testcache": complete.PredictNothing,
+ "-modcache": complete.PredictNothing,
},
Args: complete.PredictOr(anyPackage, ellipsis),
}
@@ -477,6 +480,121 @@ func main() {
Args: anyGo,
}
+ modDownload := complete.Command{
+ Flags: complete.Flags{
+ "-json": complete.PredictNothing,
+ },
+ Args: anyPackage,
+ }
+
+ modEdit := complete.Command{
+ Flags: complete.Flags{
+ "-fmt": complete.PredictNothing,
+ "-module": complete.PredictNothing,
+ "-print": complete.PredictNothing,
+
+ "-exclude": anyPackage,
+ "-dropexclude": anyPackage,
+ "-replace": anyPackage,
+ "-dropreplace": anyPackage,
+ "-require": anyPackage,
+ "-droprequire": anyPackage,
+ },
+ Args: complete.PredictFiles("go.mod"),
+ }
+
+ modGraph := complete.Command{}
+
+ modInit := complete.Command{
+ Args: complete.PredictAnything,
+ }
+
+ modTidy := complete.Command{
+ Flags: complete.Flags{
+ "-v": complete.PredictNothing,
+ },
+ }
+
+ modVendor := complete.Command{
+ Flags: complete.Flags{
+ "-v": complete.PredictNothing,
+ },
+ }
+
+ modVerify := complete.Command{}
+
+ modWhy := complete.Command{
+ Flags: complete.Flags{
+ "-m": complete.PredictNothing,
+ "-vendor": complete.PredictNothing,
+ },
+ Args: anyPackage,
+ }
+
+ modHelp := complete.Command{
+ Sub: complete.Commands{
+ "download": complete.Command{},
+ "edit": complete.Command{},
+ "graph": complete.Command{},
+ "init": complete.Command{},
+ "tidy": complete.Command{},
+ "vendor": complete.Command{},
+ "verify": complete.Command{},
+ "why": complete.Command{},
+ },
+ }
+
+ mod := complete.Command{
+ Sub: complete.Commands{
+ "download": modDownload,
+ "edit": modEdit,
+ "graph": modGraph,
+ "init": modInit,
+ "tidy": modTidy,
+ "vendor": modVendor,
+ "verify": modVerify,
+ "why": modWhy,
+ "help": modHelp,
+ },
+ }
+
+ help := complete.Command{
+ Sub: complete.Commands{
+ "bug": complete.Command{},
+ "build": complete.Command{},
+ "clean": complete.Command{},
+ "doc": complete.Command{},
+ "env": complete.Command{},
+ "fix": complete.Command{},
+ "fmt": complete.Command{},
+ "generate": complete.Command{},
+ "get": complete.Command{},
+ "install": complete.Command{},
+ "list": complete.Command{},
+ "mod": modHelp,
+ "run": complete.Command{},
+ "test": complete.Command{},
+ "tool": complete.Command{},
+ "version": complete.Command{},
+ "vet": complete.Command{},
+ "buildmode": complete.Command{},
+ "c": complete.Command{},
+ "cache": complete.Command{},
+ "environment": complete.Command{},
+ "filetype": complete.Command{},
+ "go.mod": complete.Command{},
+ "gopath": complete.Command{},
+ "gopath-get": complete.Command{},
+ "goproxy": complete.Command{},
+ "importpath": complete.Command{},
+ "modules": complete.Command{},
+ "module-get": complete.Command{},
+ "packages": complete.Command{},
+ "testflag": complete.Command{},
+ "testfunc": complete.Command{},
+ },
+ }
+
// commands that also accepts the build flags
for name, options := range build.Flags {
test.Flags[name] = options
@@ -504,6 +622,8 @@ func main() {
"bug": bug,
"fix": fix,
"version": version,
+ "mod": mod,
+ "help": help,
},
GlobalFlags: complete.Flags{
"-h": complete.PredictNothing,
diff --git a/gocomplete/go.mod b/gocomplete/go.mod
new file mode 100644
index 0000000..d312331
--- /dev/null
+++ b/gocomplete/go.mod
@@ -0,0 +1,6 @@
+module gocomplete
+
+require (
+ github.com/hashicorp/go-multierror v1.0.0 // indirect
+ github.com/posener/complete v1.1.2
+)
diff --git a/gocomplete/go.sum b/gocomplete/go.sum
new file mode 100644
index 0000000..75d894d
--- /dev/null
+++ b/gocomplete/go.sum
@@ -0,0 +1,6 @@
+github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
+github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o=
+github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
+github.com/posener/complete v1.1.2 h1:fS9GkqLN9DIpHg9j3fAPHdj5P3LhzxuoSybQd1v26IE=
+github.com/posener/complete v1.1.2/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
diff --git a/log.go b/log.go
index 797a80c..c302955 100644
--- a/log.go
+++ b/log.go
@@ -1,7 +1,6 @@
package complete
import (
- "io"
"io/ioutil"
"log"
"os"
@@ -15,7 +14,7 @@ import (
var Log = getLogger()
func getLogger() func(format string, args ...interface{}) {
- var logfile io.Writer = ioutil.Discard
+ var logfile = ioutil.Discard
if os.Getenv(envDebug) != "" {
logfile = os.Stderr
}
diff --git a/metalinter.json b/metalinter.json
deleted file mode 100644
index 799c1d0..0000000
--- a/metalinter.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "Vendor": true,
- "DisableAll": true,
- "Enable": [
- "gofmt",
- "goimports",
- "interfacer",
- "goconst",
- "misspell",
- "unconvert",
- "gosimple",
- "golint",
- "structcheck",
- "deadcode",
- "vet"
- ],
- "Exclude": [
- "initTests is unused"
- ],
- "Deadline": "2m"
-}