summaryrefslogtreecommitdiff
path: root/snippets/lpc.snippets
diff options
context:
space:
mode:
authorVito G. Graffagnino <vito@graffagnino.xyz>2022-08-28 12:24:01 +0100
committerVito G. Graffagnino <vito@graffagnino.xyz>2022-08-28 12:24:01 +0100
commit823302458ec6c53455a3f34674415c43ce6a3187 (patch)
tree92168b44b01f5b2236b7cdf331e227c4790431ee /snippets/lpc.snippets
parent9ea6111717518625cbd28a020493ec06610ff01e (diff)
Added snippets directory
Diffstat (limited to 'snippets/lpc.snippets')
-rw-r--r--snippets/lpc.snippets190
1 files changed, 190 insertions, 0 deletions
diff --git a/snippets/lpc.snippets b/snippets/lpc.snippets
new file mode 100644
index 0000000..2a849ef
--- /dev/null
+++ b/snippets/lpc.snippets
@@ -0,0 +1,190 @@
+##
+## 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
+snippet t
+ ${1:/* condition */} ? ${2:a} : ${3:b}
+# 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
+ while(${1:/* condition */})
+ {
+ ${0:${VISUAL}}
+ }
+# do... while
+snippet do
+ do{
+ ${0:${VISUAL}}
+ }while (${1:/* condition */});
+##
+## 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")`