|
3 | 3 | "prefix": "main",
|
4 | 4 | "body": [
|
5 | 5 | "public fn i32 main(i32 argc, const char** argv) {",
|
6 |
| - " ${1:/* code */}", |
7 |
| - " return 0;", |
| 6 | + "\t${1:/* code */}", |
| 7 | + "\treturn 0;", |
8 | 8 | "}"
|
9 | 9 | ],
|
10 | 10 | "description": "main(..)"
|
11 | 11 | },
|
12 | 12 | "main2": {
|
13 |
| - "prefix": "mainv", |
| 13 | + "prefix": "main2", |
14 | 14 | "body": [
|
15 | 15 | "public fn i32 main() {",
|
16 |
| - " ${1:/* code */}", |
17 |
| - " return 0;", |
| 16 | + "\t${1:/* code */}", |
| 17 | + "\treturn 0;", |
18 | 18 | "}"
|
19 | 19 | ],
|
20 | 20 | "description": "main()"
|
|
29 | 29 | "import": {
|
30 | 30 | "prefix": "import",
|
31 | 31 | "body": [
|
32 |
| - "import ${1:stdio}${2: local};" |
| 32 | + "import ${1:${2:stdio} as ${3:io}}${5: local};" |
33 | 33 | ],
|
34 | 34 | "description": "import libname"
|
35 | 35 | },
|
36 | 36 | "if": {
|
37 | 37 | "prefix": "if",
|
38 | 38 | "body": [
|
39 | 39 | "if(${1:/* condition */}) {",
|
40 |
| - " ${0:/* code */}", |
| 40 | + "\t${2:/* code */}", |
41 | 41 | "}"
|
42 | 42 | ],
|
43 | 43 | "description": "if(..) {..}"
|
|
46 | 46 | "prefix": "else",
|
47 | 47 | "body": [
|
48 | 48 | "else {",
|
49 |
| - " ${0:/* code */}", |
| 49 | + "\t${1:/* code */}", |
50 | 50 | "}"
|
51 | 51 | ],
|
52 | 52 | "description": "else {..}"
|
53 | 53 | },
|
54 | 54 | "if_else": {
|
55 |
| - "prefix": "ife", |
| 55 | + "prefix": "ifelse", |
56 | 56 | "body": [
|
57 | 57 | "if(${1:/* condition */}) {",
|
58 |
| - " ${2:/* code */}", |
| 58 | + "\t${2:/* code */}", |
59 | 59 | "} else {",
|
60 |
| - " ${0:/* code */}", |
| 60 | + "\t${3:/* code */}", |
61 | 61 | "}"
|
62 | 62 | ],
|
63 | 63 | "description": "if/else"
|
64 | 64 | },
|
| 65 | + "switch": { |
| 66 | + "prefix": "switch", |
| 67 | + "body": [ |
| 68 | + "switch(${1:/* condition */}) {", |
| 69 | + "\tcase ${2:low - high}:", |
| 70 | + "\t\t${3:/* code */}", |
| 71 | + "\t\tbreak;", |
| 72 | + "\t${4:default:", |
| 73 | + "\t\t${5:/* code */}", |
| 74 | + "\t\tbreak;}", |
| 75 | + "}" |
| 76 | + ], |
| 77 | + "description": "switch(..) {case.. default:..}" |
| 78 | + }, |
| 79 | + "case": { |
| 80 | + "prefix": "case", |
| 81 | + "body": [ |
| 82 | + "case ${2:low - high}:", |
| 83 | + "\t${3:/* code */}", |
| 84 | + "\tbreak;" |
| 85 | + ], |
| 86 | + "description": "case..: ... break" |
| 87 | + }, |
| 88 | + "default": { |
| 89 | + "prefix": "default", |
| 90 | + "body": [ |
| 91 | + "default:", |
| 92 | + "\t${3:/* code */}", |
| 93 | + "\tbreak;" |
| 94 | + ], |
| 95 | + "description": "default: .. break" |
| 96 | + }, |
65 | 97 | "do_while": {
|
66 | 98 | "prefix": "do",
|
67 | 99 | "body": [
|
68 | 100 | "do {",
|
69 |
| - " ${2:/* code */}", |
| 101 | + "\t${2:/* code */}", |
70 | 102 | "} while(${1:/* condition */});"
|
71 | 103 | ],
|
72 | 104 | "description": "do {..} while(..)"
|
|
75 | 107 | "prefix": "while",
|
76 | 108 | "body": [
|
77 | 109 | "while(${1:/* condition */}) {",
|
78 |
| - " ${0:/* code */}", |
| 110 | + "\t${2:/* code */}", |
79 | 111 | "}"
|
80 | 112 | ],
|
81 | 113 | "description": "while(..) {..}"
|
82 | 114 | },
|
83 | 115 | "for": {
|
84 | 116 | "prefix": "for",
|
85 | 117 | "body": [
|
86 |
| - "for(${1:u32 i=0}; ${2:i<n}; ${3:++i}) {", |
87 |
| - " ${0:/* code */}", |
| 118 | + "for(${1:i32 i=0}; ${2:i<${3:n}}; ${4:++i}) {", |
| 119 | + "\t${5:/* code */}", |
88 | 120 | "}"
|
89 | 121 | ],
|
90 | 122 | "description": "for(..) {..}"
|
91 | 123 | },
|
92 | 124 | "fn": {
|
93 | 125 | "prefix": "fn",
|
94 | 126 | "body": [
|
95 |
| - "fn ${1:void} ${2:name}(${3}) {", |
96 |
| - " ${0:/* code */}", |
| 127 | + "fn ${1:void} ${2:/*name*/}(${3}) {", |
| 128 | + "\t${4:/* code */}", |
97 | 129 | "}"
|
98 | 130 | ],
|
99 | 131 | "description": "fn {type} {name}(..) {..}"
|
100 | 132 | },
|
101 |
| - "fn_attribs": { |
102 |
| - "prefix": "fna", |
103 |
| - "body": [ |
104 |
| - "fn ${1:void} ${2:name}(${3}) @(${4:noused}) {", |
105 |
| - " ${0:/* code */}", |
106 |
| - "}" |
107 |
| - ], |
108 |
| - "description": "fn {type} {name}(..) @(..) {..}" |
109 |
| - }, |
110 |
| - "fn_cname": { |
| 133 | + "fn_attrib": { |
111 | 134 | "prefix": "fnc",
|
112 | 135 | "body": [
|
113 |
| - "fn ${1:void} ${2:name}(${3}) @(${4:cname=\"${5:c_func}\"});" |
| 136 | + "fn ${1:void} ${2:/*name*/}(${3})${4: @(${5:cname=\"${6:c_func}\"${7:, opaque}})}${8:;}" |
114 | 137 | ],
|
115 |
| - "description": "fn {type} {name}(..) @(cname=\"{c_func}\");" |
| 138 | + "description": "fn {type} {name}(..) @(..);" |
116 | 139 | },
|
117 | 140 | "enum": {
|
118 | 141 | "prefix": "enum",
|
119 | 142 | "body": [
|
120 | 143 | "type ${1:/* name */} enum ${2:u32} {",
|
121 |
| - " ${0:/* fields */}", |
| 144 | + "\t${3:/* fields */}", |
122 | 145 | "}"
|
123 | 146 | ],
|
124 | 147 | "description": "type {name} enum {type} {..}"
|
125 | 148 | },
|
| 149 | + "enum_attrib": { |
| 150 | + "prefix": "enum_", |
| 151 | + "body": [ |
| 152 | + "type ${1:/* name */} enum ${2:u32}${3: @(${4:cname=\"${5:c_func}\"${6:, opaque}})}${7:;}" |
| 153 | + ], |
| 154 | + "description": "type {name} enum {type} @(..);" |
| 155 | + }, |
| 156 | + "union": { |
| 157 | + "prefix": "union", |
| 158 | + "body": [ |
| 159 | + "${1:type ${2:/* name */} }union $3{", |
| 160 | + "\t${4:/* fields */}", |
| 161 | + "}" |
| 162 | + ], |
| 163 | + "description": "type {name} union {type} {..}" |
| 164 | + }, |
| 165 | + "union_attrib": { |
| 166 | + "prefix": "union_", |
| 167 | + "body": [ |
| 168 | + "type ${1:/* name */} union${2: @(${3:cname=\"${4:c_func}\"${5:, opaque}})}${7:;}" |
| 169 | + ], |
| 170 | + "description": "type {name} union {type} @(..);" |
| 171 | + }, |
126 | 172 | "struct": {
|
127 | 173 | "prefix": "struct",
|
128 | 174 | "body": [
|
129 |
| - "type ${1:/* name */} struct {", |
130 |
| - " ${0:/* fields */}", |
| 175 | + "${1:type ${2:/* name */} }struct $3{", |
| 176 | + "\t${4:/* fields */}", |
131 | 177 | "}"
|
132 | 178 | ],
|
133 | 179 | "description": "type {name} struct {..}"
|
134 | 180 | },
|
135 | 181 | "struct_cname": {
|
136 |
| - "prefix": "structc", |
| 182 | + "prefix": "struct_", |
137 | 183 | "body": [
|
138 |
| - "type ${1:/* name */} struct @(${2:crame=\"${3:c_func}\"}${4:, opaque}) {", |
139 |
| - " ${0:/* fields */}", |
140 |
| - "}" |
| 184 | + "type ${1:/* name */} struct ${2: @(${3:cname=\"${4:c_func}\"${5:, opaque}})}${7:;}" |
141 | 185 | ],
|
142 |
| - "description": "type {name} struct @(cname=\"{c_func} {opaque}\") {..}" |
| 186 | + "description": "type {name} struct @(..);" |
143 | 187 | }
|
144 | 188 | }
|
0 commit comments