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
 |