.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / internal / lsp / testdata / variadic / variadic.go.in
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/internal/lsp/testdata/variadic/variadic.go.in b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/internal/lsp/testdata/variadic/variadic.go.in
new file mode 100644 (file)
index 0000000..4787498
--- /dev/null
@@ -0,0 +1,38 @@
+package variadic
+
+func foo(i int, strs ...string) {}
+
+func bar() []string { //@item(vFunc, "bar", "func() []string", "func")
+       return nil
+}
+
+func _() {
+       var (
+               i  int        //@item(vInt, "i", "int", "var")
+               s  string     //@item(vStr, "s", "string", "var")
+               ss []string   //@item(vStrSlice, "ss", "[]string", "var")
+               v interface{} //@item(vIntf, "v", "interface{}", "var")
+       )
+
+       foo()           //@rank(")", vInt, vStr),rank(")", vInt, vStrSlice)
+       foo(123, )      //@rank(")", vStr, vInt),rank(")", vStrSlice, vInt)
+       foo(123, "", )  //@rank(")", vStr, vInt),rank(")", vStr, vStrSlice)
+       foo(123, s, "") //@rank(", \"", vStr, vStrSlice)
+
+  // snippet will add the "..." for you
+       foo(123, ) //@snippet(")", vStrSlice, "ss...", "ss..."),snippet(")", vFunc, "bar()...", "bar()..."),snippet(")", vStr, "s", "s")
+
+       // don't add "..." for interface{}
+       foo(123, ) //@snippet(")", vIntf, "v", "v")
+}
+
+func qux(...func()) {}
+func f()            {} //@item(vVarArg, "f", "func()", "func")
+
+func _() {
+       qux(f) //@snippet(")", vVarArg, "f", "f")
+}
+
+func _() {
+       foo(0, []string{}...) //@complete(")")
+}