github.com/v2fly/tools@v0.100.0/internal/lsp/testdata/append/append.go (about) 1 package append 2 3 func foo([]string) {} 4 func bar(...string) {} 5 6 func _() { 7 var ( 8 aInt []int //@item(appendInt, "aInt", "[]int", "var") 9 aStrings []string //@item(appendStrings, "aStrings", "[]string", "var") 10 aString string //@item(appendString, "aString", "string", "var") 11 ) 12 13 foo(append()) //@rank("))", appendStrings, appendInt),rank("))", appendStrings, appendString) 14 foo(append(nil, a)) //@rank("))", appendStrings, appendInt),rank("))", appendString, appendInt),snippet("))", appendStrings, "aStrings...", "aStrings...") 15 foo(append(nil, "", a)) //@rank("))", appendString, appendInt),rank("))", appendString, appendStrings) 16 17 // Don't add "..." to append() argument. 18 bar(append()) //@snippet("))", appendStrings, "aStrings", "aStrings") 19 20 type baz struct{} 21 baz{} //@item(appendBazLiteral, "baz{}", "", "var") 22 var bazzes []baz //@item(appendBazzes, "bazzes", "[]baz", "var") 23 var bazzy baz //@item(appendBazzy, "bazzy", "baz", "var") 24 bazzes = append(bazzes, ba) //@rank(")", appendBazzy, appendBazLiteral, appendBazzes) 25 26 var b struct{ b []baz } 27 b.b //@item(appendNestedBaz, "b.b", "[]baz", "field") 28 b.b = append(b.b, b) //@rank(")", appendBazzy, appendBazLiteral, appendNestedBaz) 29 30 var aStringsPtr *[]string //@item(appendStringsPtr, "aStringsPtr", "*[]string", "var") 31 "*aStringsPtr" //@item(appendStringsDeref, "*aStringsPtr", "*[]string", "var") 32 foo(append(nil, a)) //@snippet("))", appendStringsDeref, "*aStringsPtr...", "*aStringsPtr...") 33 34 foo(append(nil, *a)) //@snippet("))", appendStringsPtr, "aStringsPtr...", "aStringsPtr...") 35 }