Created
October 20, 2013 19:31
-
-
Save brb/7074136 to your computer and use it in GitHub Desktop.
C code snippets for snipmate
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# main() | |
snippet main | |
int | |
main(int argc, const char **argv) | |
{ | |
${1} | |
return 0; | |
} | |
snippet mainn | |
int | |
main(void) | |
{ | |
${1} | |
return 0; | |
} | |
# #include <...> | |
snippet inc | |
#include <${1:stdio}.h>${2} | |
# #include "..." | |
snippet Inc | |
#include "${1:`Filename("$1.h")`}"${2} | |
# #ifndef ... #define ... #endif | |
snippet Def | |
#ifndef $1 | |
#define ${1:SYMBOL} ${2:value} | |
#endif${3} | |
snippet def | |
#define | |
snippet ifdef | |
#ifdef ${1:FOO} | |
${2:#define } | |
#endif | |
snippet #if | |
#if ${1:FOO} | |
${2} | |
#endif | |
# Header Include-Guard | |
snippet once | |
#ifndef ${1:`toupper(Filename('$1_H', 'UNTITLED_H'))`} | |
#define $1 | |
${2} | |
#endif /* end of include guard: $1 */ | |
# If Condition | |
snippet if | |
if (${1:/* condition */}) { | |
${2:/* code */} | |
} | |
snippet el | |
else { | |
${1} | |
} | |
# Ternary conditional | |
snippet t | |
${1:/* condition */} ? ${2:a} : ${3:b} | |
# Do While Loop | |
snippet do | |
do { | |
${2:/* code */} | |
} while (${1:/* condition */}); | |
# While Loop | |
snippet wh | |
while (${1:/* condition */}) { | |
${2:/* code */} | |
} | |
# For Loop | |
snippet for | |
for (${2:i} = 0; $2 < ${1:count}; $2${3:++}) { | |
${4:/* code */} | |
} | |
# Custom For Loop | |
snippet forr | |
for (${1:i} = ${2:0}; ${3:$1 < 10}; $1${4:++}) { | |
${5:/* code */} | |
} | |
# Function | |
snippet fun | |
${1:void} | |
${2:function_name}(${3}) | |
{ | |
${4:/* code */} | |
} | |
# Function Declaration | |
snippet fund | |
${1:void} ${2:function_name}(${3});${4} | |
# Typedef | |
snippet td | |
typedef ${1:int} ${2:MyCustomType};${3} | |
# Struct | |
snippet st | |
struct ${1:`Filename('$1_t', 'name')`} { | |
${2:/* data */} | |
}${3: /* optional variable list */};${4} | |
# Typedef struct | |
snippet tds | |
typedef struct ${2:_$1 }{ | |
${3:/* data */} | |
} ${1:`Filename('$1_t', 'name')`}; | |
# Typdef enum | |
snippet tde | |
typedef enum { | |
${1:/* data */} | |
} ${2:foo}; | |
# printf | |
snippet pr | |
printf("${1:%s}\n"${2});${3} | |
# fprintf (again, this isn't as nice as TextMate's version, but it works) | |
snippet fpr | |
fprintf(${1:stderr}, "${2:%s}\n"${3});${4} | |
# This is kind of convenient | |
snippet . | |
[${1}]${2} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment