3 //@rank("", type),rank("", func),rank("", var),rank("", const),rank("", import)
6 var test int //@rank(" //", int, interface)
8 var _ m //@complete(" //", map)
9 var _ f //@complete(" //", func)
10 var _ c //@complete(" //", chan)
12 var _ str //@rank(" //", string, struct)
14 type _ int //@rank(" //", interface, int)
16 type _ str //@rank(" //", struct, string)
19 case 1: // TODO: trying to complete case here will break because the parser wont return *ast.Ident
20 b //@complete(" //", break)
22 f //@complete(" //", fallthrough, for)
23 r //@complete(" //", return)
24 d //@complete(" //", default, defer)
25 c //@complete(" //", case, const)
29 case fo: //@complete(":")
31 b //@complete(" //", break)
33 f //@complete(" //", for)
34 d //@complete(" //", default, defer)
35 r //@complete(" //", return)
36 c //@complete(" //", case, const)
41 b //@complete(" //", break)
42 c //@complete(" //", case, const)
45 for index := 0; index < test; index++ {
46 c //@complete(" //", const, continue)
47 b //@complete(" //", break)
51 c //@complete(" //", const, continue)
52 b //@complete(" //", break)
55 // Test function level keywords
57 //Using 2 characters to test because map output order is random
58 sw //@complete(" //", switch)
59 se //@complete(" //", select)
61 f //@complete(" //", for)
62 d //@complete(" //", defer)
63 g //@rank(" //", go),rank(" //", goto)
64 r //@complete(" //", return)
65 i //@complete(" //", if)
66 e //@complete(" //", else)
67 v //@complete(" //", var)
68 c //@complete(" //", const)
70 for i := r //@complete(" //", range)
73 /* package */ //@item(package, "package", "", "keyword")
74 /* import */ //@item(import, "import", "", "keyword")
75 /* func */ //@item(func, "func", "", "keyword")
76 /* type */ //@item(type, "type", "", "keyword")
77 /* var */ //@item(var, "var", "", "keyword")
78 /* const */ //@item(const, "const", "", "keyword")
79 /* break */ //@item(break, "break", "", "keyword")
80 /* default */ //@item(default, "default", "", "keyword")
81 /* case */ //@item(case, "case", "", "keyword")
82 /* defer */ //@item(defer, "defer", "", "keyword")
83 /* go */ //@item(go, "go", "", "keyword")
84 /* for */ //@item(for, "for", "", "keyword")
85 /* if */ //@item(if, "if", "", "keyword")
86 /* else */ //@item(else, "else", "", "keyword")
87 /* switch */ //@item(switch, "switch", "", "keyword")
88 /* select */ //@item(select, "select", "", "keyword")
89 /* fallthrough */ //@item(fallthrough, "fallthrough", "", "keyword")
90 /* continue */ //@item(continue, "continue", "", "keyword")
91 /* return */ //@item(return, "return", "", "keyword")
92 /* var */ //@item(var, "var", "", "keyword")
93 /* const */ //@item(const, "const", "", "keyword")
94 /* goto */ //@item(goto, "goto", "", "keyword")
95 /* struct */ //@item(struct, "struct", "", "keyword")
96 /* interface */ //@item(interface, "interface", "", "keyword")
97 /* map */ //@item(map, "map", "", "keyword")
98 /* func */ //@item(func, "func", "", "keyword")
99 /* chan */ //@item(chan, "chan", "", "keyword")
100 /* range */ //@item(range, "range", "", "keyword")