2021-05-05 04:25:00 -04:00
|
|
|
##
|
|
|
|
## Preprocessor
|
|
|
|
# #include <...>
|
|
|
|
snippet inc
|
|
|
|
#include <${1:stdio}.h>
|
|
|
|
# #include "..."
|
|
|
|
snippet Inc
|
|
|
|
#include "${1:`vim_snippets#Filename("$1.h")`}"
|
|
|
|
# ifndef...define...endif
|
|
|
|
snippet ndef
|
|
|
|
#ifndef $1
|
|
|
|
#define ${1:SYMBOL} ${2:value}
|
|
|
|
#endif /* ifndef $1 */
|
|
|
|
# define
|
|
|
|
snippet def
|
|
|
|
#define
|
|
|
|
# ifdef...endif
|
|
|
|
snippet ifdef
|
|
|
|
#ifdef ${1:FOO}
|
|
|
|
${2:#define }
|
|
|
|
#endif
|
|
|
|
# if
|
|
|
|
snippet #if
|
|
|
|
#if ${1:FOO}
|
|
|
|
${0:${VISUAL}}
|
|
|
|
#endif
|
|
|
|
# header include guard
|
|
|
|
snippet once
|
|
|
|
#ifndef ${1:`toupper(vim_snippets#Filename('$1_H', 'UNTITLED_H'))`}
|
|
|
|
|
|
|
|
#define $1
|
|
|
|
|
|
|
|
${0}
|
|
|
|
|
|
|
|
#endif /* end of include guard: $1 */
|
|
|
|
##
|
|
|
|
## Control Statements
|
|
|
|
# if
|
|
|
|
snippet if
|
|
|
|
if(${1:true})
|
|
|
|
{
|
|
|
|
${0:${VISUAL}}
|
|
|
|
}
|
|
|
|
snippet ife
|
|
|
|
if(${1:true})
|
|
|
|
{
|
|
|
|
${2:${VISUAL}}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
${0}
|
|
|
|
}
|
|
|
|
# else
|
|
|
|
snippet el
|
|
|
|
else
|
|
|
|
{
|
|
|
|
${0:${VISUAL}}
|
|
|
|
}
|
|
|
|
# else if
|
|
|
|
snippet elif
|
|
|
|
else if(${1:true})
|
|
|
|
{
|
|
|
|
${0:${VISUAL}}
|
|
|
|
}
|
|
|
|
# ifi
|
|
|
|
snippet ifi
|
|
|
|
if(${1:true}) ${0};
|
|
|
|
# ternary
|
2022-09-25 06:10:28 -04:00
|
|
|
snippet t
|
|
|
|
${1:/* condition */} ? ${2:a} : ${3:b}
|
2021-05-05 04:25:00 -04:00
|
|
|
# switch
|
|
|
|
snippet switch
|
|
|
|
switch(${1:/* variable */})
|
|
|
|
{
|
|
|
|
case ${2:/* variable case */}:
|
|
|
|
${3}
|
|
|
|
${4:break;}${5}
|
|
|
|
default:
|
|
|
|
${6}
|
|
|
|
}
|
|
|
|
# switch without default
|
|
|
|
snippet switchndef
|
|
|
|
switch(${1:/* variable */})
|
|
|
|
{
|
|
|
|
case ${2:/* variable case */}:
|
|
|
|
${3}
|
|
|
|
${4:break;}${5}
|
|
|
|
}
|
|
|
|
# case
|
|
|
|
snippet case
|
|
|
|
case ${1:/* variable case */}:
|
|
|
|
${2}
|
|
|
|
${3:break;}
|
|
|
|
snippet ret
|
|
|
|
return ${0};
|
|
|
|
##
|
|
|
|
## Loops
|
|
|
|
#foreach
|
|
|
|
snippet fore
|
|
|
|
foreach(${1:mixed} ${2:ele} in ${3:arr})
|
|
|
|
{
|
|
|
|
${4}
|
|
|
|
}
|
|
|
|
# for
|
|
|
|
snippet for
|
|
|
|
for(int ${2:i} = 0; $2 < ${1:count}; $2${3:++})
|
|
|
|
{
|
|
|
|
${4}
|
|
|
|
}
|
|
|
|
# for (custom)
|
|
|
|
snippet forr
|
|
|
|
for(int ${1:i} = ${2:0}; ${3:$1 < 10}; $1${4:++})
|
|
|
|
{
|
|
|
|
${5}
|
|
|
|
}
|
|
|
|
# while
|
|
|
|
snippet wh
|
2022-09-25 06:10:28 -04:00
|
|
|
while(${1:/* condition */})
|
2021-05-05 04:25:00 -04:00
|
|
|
{
|
|
|
|
${0:${VISUAL}}
|
|
|
|
}
|
|
|
|
# do... while
|
|
|
|
snippet do
|
|
|
|
do{
|
|
|
|
${0:${VISUAL}}
|
2022-09-25 06:10:28 -04:00
|
|
|
}while (${1:/* condition */});
|
2021-05-05 04:25:00 -04:00
|
|
|
##
|
|
|
|
## Functions
|
|
|
|
# function definition
|
|
|
|
snippet fnc
|
|
|
|
${1:void} ${2:function_name}(${3})
|
|
|
|
{
|
|
|
|
${4}
|
|
|
|
}
|
|
|
|
# function definition with zero parameters
|
|
|
|
snippet defun0
|
|
|
|
${1:void} ${2:function_name}()
|
|
|
|
{
|
|
|
|
${3}
|
|
|
|
}
|
|
|
|
# function definition with one parameter
|
|
|
|
snippet defun1
|
|
|
|
${1:void} ${2:function_name}(${3:Type} ${4:Parameter})
|
|
|
|
{
|
|
|
|
${5}
|
|
|
|
}
|
|
|
|
# function definition with two parameters
|
|
|
|
snippet defun2
|
|
|
|
${1:void} ${2:function_name}(${3:Type} ${4:Parameter}, ${5:Type} ${6:Parameter})
|
|
|
|
{
|
|
|
|
${7}
|
|
|
|
}
|
|
|
|
# function definition with three parameters
|
|
|
|
snippet defun3
|
|
|
|
${1:void} ${2:function_name}(${3:Type} ${4:Parameter}, ${5:Type} ${6:Parameter}, ${7:Type} ${8:Parameter})
|
|
|
|
{
|
|
|
|
${9}
|
|
|
|
}
|
|
|
|
# function declaration
|
|
|
|
snippet fund
|
|
|
|
${1:void} ${2:function_name}(${3});
|
|
|
|
##
|
|
|
|
## Input/Output
|
|
|
|
# printf
|
|
|
|
snippet pr
|
|
|
|
printf("${1:%s}\n"${2});
|
|
|
|
# fprintf (again, this isn't as nice as TextMate's version, but it works)
|
|
|
|
snippet fpr
|
|
|
|
fprintf(${1:stderr}, "${2:%s}\n"${3});
|
|
|
|
snippet prd
|
|
|
|
printf("${1:} = %d\n", $1);
|
|
|
|
snippet prf
|
|
|
|
printf("${1:} = %f\n", $1);
|
|
|
|
snippet prx
|
|
|
|
printf("${1:} = %${2}\n", $1);
|
|
|
|
##
|
|
|
|
# TODO section
|
|
|
|
snippet todo
|
|
|
|
/*! TODO: ${1:Todo description here} */
|
|
|
|
|
|
|
|
## Miscellaneous
|
|
|
|
# This is kind of convenient
|
|
|
|
snippet .
|
|
|
|
[${1}]
|
|
|
|
|
|
|
|
|
|
|
|
##
|
|
|
|
## MHXY
|
|
|
|
snippet head
|
|
|
|
// code for ${1} by `$USER` create at `strftime("%Y-%m-%d %H:%M:%S")`
|