|
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": "enumc", |
| 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 {", |
| 160 | + "\t${3:/* fields */}", |
| 161 | + "}" |
| 162 | + ], |
| 163 | + "description": "type {name} union {type} {..}" |
| 164 | + }, |
| 165 | + "union_attrib": { |
| 166 | + "prefix": "unionc", |
| 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 {", |
| 176 | + "\t${3:/* fields */}", |
131 | 177 | "}" |
132 | 178 | ], |
133 | 179 | "description": "type {name} struct {..}" |
134 | 180 | }, |
135 | 181 | "struct_cname": { |
136 | 182 | "prefix": "structc", |
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