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         name = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper()
 
  71         rand = ''.join(random.sample(string.ascii_letters+string.digits, 8))
 
  72         snip.rv = ('%s_%s' % (name,rand)).upper()
 
  79 #endif /* end of include guard: $1 */
 
  83 typedef ${1:int} ${2:MyCustomType};
 
  86 snippet wh "while loop"
 
  87 while(${1:/* condition */}) {
 
  92 snippet do "do...while loop (do)"
 
  95 } while(${1:/* condition */});
 
  98 snippet fprintf "fprintf ..."
 
  99 fprintf(${1:stderr}, "${2:%s}\n"${2/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\);)/}
 
 102 snippet if "if .. (if)"
 
 103 if (${1:/* condition */})
 
 109 snippet el "else .. (else)"
 
 115 snippet eli "else if .. (eli)"
 
 116 else if (${1:/* condition */}) {
 
 121 snippet ife "if .. else (ife)"
 
 122 if (${1:/* condition */})
 
 132 snippet printf "printf .. (printf)"
 
 133 printf("${1:%s}\n"${1/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\);)/}
 
 137 struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`}
 
 143 snippet fun "function" b
 
 144 ${1:void} ${2:function_name}(${3})
 
 150 snippet fund "function declaration" b
 
 151 ${1:void} ${2:function_name}(${3});