Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / internal / lsp / testdata / complit / complit.go.in
1 package complit
2
3 // general completions
4
5 type position struct { //@item(structPosition, "position", "struct{...}", "struct")
6         X, Y int //@item(fieldX, "X", "int", "field"),item(fieldY, "Y", "int", "field")
7 }
8
9 func _() {
10         _ = position{
11                 //@complete("", fieldX, fieldY, structPosition)
12         }
13         _ = position{
14                 X: 1,
15                 //@complete("", fieldY)
16         }
17         _ = position{
18                 //@complete("", fieldX)
19                 Y: 1,
20         }
21         _ = []*position{
22         {
23             //@complete("", fieldX, fieldY, structPosition)
24         },
25         }
26 }
27
28 func _() {
29         var (
30                 aa string //@item(aaVar, "aa", "string", "var")
31                 ab int    //@item(abVar, "ab", "int", "var")
32         )
33
34         _ = map[int]int{
35                 a: a, //@complete(":", abVar, aaVar),complete(",", abVar, aaVar)
36         }
37
38         _ = map[int]int{
39                 //@complete("", abVar, aaVar, structPosition)
40         }
41
42         _ = []string{a: ""} //@complete(":", abVar, aaVar)
43         _ = [1]string{a: ""} //@complete(":", abVar, aaVar)
44
45         _ = position{X: a}   //@complete("}", abVar, aaVar)
46         _ = position{a}      //@complete("}", abVar, aaVar)
47         _ = position{a, }      //@complete("}", abVar, aaVar, structPosition)
48
49         _ = []int{a}  //@complete("}", abVar, aaVar)
50         _ = [1]int{a} //@complete("}", abVar, aaVar)
51
52         type myStruct struct {
53                 AA int    //@item(fieldAA, "AA", "int", "field")
54                 AB string //@item(fieldAB, "AB", "string", "field")
55         }
56
57         _ = myStruct{
58                 AB: a, //@complete(",", aaVar, abVar)
59         }
60
61         var s myStruct
62
63         _ = map[int]string{1: "" + s.A}                                //@complete("}", fieldAB, fieldAA)
64         _ = map[int]string{1: (func(i int) string { return "" })(s.A)} //@complete(")}", fieldAA, fieldAB)
65         _ = map[int]string{1: func() string { s.A }}                   //@complete(" }", fieldAA, fieldAB)
66
67         _ = position{s.A} //@complete("}", fieldAA, fieldAB)
68
69         var X int //@item(varX, "X", "int", "var")
70         _ = position{X}      //@complete("}", fieldX, varX)
71 }
72
73 func _() {
74         type foo struct{} //@item(complitFoo, "foo", "struct{...}", "struct")
75
76         "&foo" //@item(complitAndFoo, "&foo", "struct{...}", "struct")
77
78         var _ *foo = &fo{} //@rank("{", complitFoo)
79         var _ *foo = fo{} //@rank("{", complitAndFoo)
80
81         struct { a, b *foo }{
82                 a: &fo{}, //@rank("{", complitFoo)
83                 b: fo{}, //@rank("{", complitAndFoo)
84         }
85 }
86
87 func _() {
88         _ := position{
89                 X: 1, //@complete("X", fieldX),complete(" 1", structPosition)
90                 Y: ,  //@complete(":", fieldY),complete(" ,", structPosition)
91         }
92 }