1 ###########################################################################
3 ###########################################################################
7 snippet def "#define ..."
11 snippet ifndef "#ifndef ... #define ... #endif"
12 #ifndef ${1/([A-Za-z0-9_]+).*/$1/}
13 #define ${1:SYMBOL} ${2:value}
17 snippet #if "#if #endif" b
23 snippet inc "#include local header (inc)"
24 #include "${1:`!p snip.rv = snip.basename + '.h'`}"
27 snippet Inc "#include <> (Inc)"
31 snippet mark "#pragma mark (mark)"
40 snippet main "main() (main)"
41 int main(int argc, char *argv[])
48 snippet for "for loop (for)"
49 for (${2:i} = 0; $2 < ${1:count}; ${3:++$2})
55 snippet fori "for int loop (fori)"
56 for (${4:int} ${2:i} = 0; $2 < ${1:count}; ${3:++$2})
62 snippet enum "Enumeration"
63 enum ${1:name} { $0 };
66 snippet once "Include header once only guard"
70 snip.rv = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper()
81 typedef ${1:int} ${2:MyCustomType};
84 snippet wh "while loop"
85 while(${1:/* condition */}) {
90 snippet do "do...while loop (do)"
93 } while(${1:/* condition */});
96 snippet fprintf "fprintf ..."
97 fprintf(${1:stderr}, "${2:%s}\n"${2/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\);)/}
100 snippet if "if .. (if)"
101 if (${1:/* condition */})
107 snippet el "else .. (else)"
113 snippet eli "else if .. (eli)"
114 else if (${1:/* condition */}) {
119 snippet ife "if .. else (ife)"
120 if (${1:/* condition */})
130 snippet printf "printf .. (printf)"
131 printf("${1:%s}\n"${1/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\);)/}
135 struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`}
141 snippet fun "function" b
142 ${1:void} ${2:function_name}(${3})
148 snippet fund "function declaration" b
149 ${1:void} ${2:function_name}(${3});