-
Notifications
You must be signed in to change notification settings - Fork 1
/
snippets.ts
79 lines (78 loc) · 1.84 KB
/
snippets.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import {Completion, snippetCompletion as snip} from "@codemirror/autocomplete"
/// A collection of Go-related [snippets](#autocomplete.snippet).
export const snippets: readonly Completion[] = [
snip("func ${name}(${params}) ${type} {\n\t${}\n}", {
label: "func",
detail: "declaration",
type: "keyword"
}),
snip("func (${receiver}) ${name}(${params}) ${type} {\n\t${}\n}", {
label: "func",
detail: "method declaration",
type: "keyword"
}),
snip("var ${name} = ${value}", {
label: "var",
detail: "declaration",
type: "keyword"
}),
snip("type ${name} ${type}", {
label: "type",
detail: "declaration",
type: "keyword"
}),
snip("const ${name} = ${value}", {
label: "const",
detail: "declaration",
type: "keyword"
}),
snip("type ${name} = ${type}", {
label: "type",
detail: "alias declaration",
type: "keyword"
}),
snip("for ${init}; ${test}; ${update} {\n\t${}\n}", {
label: "for",
detail: "loop",
type: "keyword"
}),
snip("for ${i} := range ${value} {\n\t${}\n}", {
label: "for",
detail: "range",
type: "keyword"
}),
snip("select {\n\t${}\n}", {
label: "select",
detail: "statement",
type: "keyword"
}),
snip("case ${}:\n${}", {
label: "case",
type: "keyword"
}),
snip("switch ${} {\n\t${}\n}", {
label: "switch",
detail: "statement",
type: "keyword"
}),
snip("switch ${}.(${type}) {\n\t${}\n}", {
label: "switch",
detail: "type statement",
type: "keyword"
}),
snip("if ${} {\n\t${}\n}", {
label: "if",
detail: "block",
type: "keyword"
}),
snip("if ${} {\n\t${}\n} else {\n\t${}\n}", {
label: "if",
detail: "/ else block",
type: "keyword"
}),
snip("import ${name} \"${module}\"\n${}", {
label: "import",
detail: "declaration",
type: "keyword"
}),
]