summaryrefslogtreecommitdiffstats
path: root/.vim/snippets/c.snippets
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2012-02-25 00:29:39 +0100
committerFlorian Pritz <bluewind@xinu.at>2012-02-25 00:29:39 +0100
commit9d5d53b221e859b91a28f5a5e456773683cd1bd7 (patch)
tree8f5b545508ec3178462ea7985ed1dc02d6e15c02 /.vim/snippets/c.snippets
parent1fbac4bd337f77c37b71de9c7a79c30331af2ffb (diff)
downloaddotfiles-9d5d53b221e859b91a28f5a5e456773683cd1bd7.tar.gz
dotfiles-9d5d53b221e859b91a28f5a5e456773683cd1bd7.tar.xz
Revert "vim: switch to vim-ultisnips; remove snipmate"
Diffstat (limited to '.vim/snippets/c.snippets')
-rw-r--r--.vim/snippets/c.snippets90
1 files changed, 90 insertions, 0 deletions
diff --git a/.vim/snippets/c.snippets b/.vim/snippets/c.snippets
new file mode 100644
index 0000000..500e8ed
--- /dev/null
+++ b/.vim/snippets/c.snippets
@@ -0,0 +1,90 @@
+# main()
+snippet main
+ int main(int argc, char const* 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
+# 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 */}
+ }
+# Typedef
+snippet td
+ typedef ${1:int} ${2:MyCustomType};
+# 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')`};
+# 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}