github.com/v2fly/tools@v0.100.0/internal/lsp/testdata/variadic/variadic.go.in (about) 1 package variadic 2 3 func foo(i int, strs ...string) {} 4 5 func bar() []string { //@item(vFunc, "bar", "func() []string", "func") 6 return nil 7 } 8 9 func _() { 10 var ( 11 i int //@item(vInt, "i", "int", "var") 12 s string //@item(vStr, "s", "string", "var") 13 ss []string //@item(vStrSlice, "ss", "[]string", "var") 14 v interface{} //@item(vIntf, "v", "interface{}", "var") 15 ) 16 17 foo() //@rank(")", vInt, vStr),rank(")", vInt, vStrSlice) 18 foo(123, ) //@rank(")", vStr, vInt),rank(")", vStrSlice, vInt) 19 foo(123, "", ) //@rank(")", vStr, vInt),rank(")", vStr, vStrSlice) 20 foo(123, s, "") //@rank(", \"", vStr, vStrSlice) 21 22 // snippet will add the "..." for you 23 foo(123, ) //@snippet(")", vStrSlice, "ss...", "ss..."),snippet(")", vFunc, "bar()...", "bar()..."),snippet(")", vStr, "s", "s") 24 25 // don't add "..." for interface{} 26 foo(123, ) //@snippet(")", vIntf, "v", "v") 27 } 28 29 func qux(...func()) {} 30 func f() {} //@item(vVarArg, "f", "func()", "func") 31 32 func _() { 33 qux(f) //@snippet(")", vVarArg, "f", "f") 34 } 35 36 func _() { 37 foo(0, []string{}...) //@complete(")") 38 }