111 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # main()
 | |
| snippet main
 | |
| 	int main(int argc, const * char argv[])
 | |
| 	{
 | |
| 		${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
 | |
| # (the randomizer code is taken directly from TextMate; it could probably be
 | |
| # cleaner, I don't know how to do it in vim script)
 | |
| snippet once
 | |
| 	#ifndef ${1:`toupper(Filename('', 'UNTITLED').'_'.system("/usr/bin/ruby -e 'print (rand * 2821109907455).round.to_s(36)'"))`}
 | |
| 
 | |
| 	#define $1
 | |
| 
 | |
| 	${2}
 | |
| 
 | |
| 	#endif /* end of include guard: $1 */
 | |
| # If Condition
 | |
| snippet if
 | |
| 	if (${1:/* condition */}) {
 | |
| 		${2:/* code */}
 | |
| 	}
 | |
| snippet el
 | |
| 	else {
 | |
| 		${1}
 | |
| 	}
 | |
| # Tertiary 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
 | |
| # unfortunately version this isn't as nice as TextMates's, given the lack of a
 | |
| # dynamic `...`
 | |
| 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}
 | |
| snippet .
 | |
| 	[${1}]${2}
 | |
| snippet un
 | |
| 	unsigned
 | 
