]> git.rmz.io Git - dotfiles.git/blob - vim/ultisnips/c.snippets
Merge branch 'master' of tardis:/dotfiles
[dotfiles.git] / vim / ultisnips / c.snippets
1 ###########################################################################
2 # TextMate Snippets #
3 ###########################################################################
4
5 priority -50
6
7 snippet def "#define ..."
8 #define ${1}
9 endsnippet
10
11 snippet ifndef "#ifndef ... #define ... #endif"
12 #ifndef ${1/([A-Za-z0-9_]+).*/$1/}
13 #define ${1:SYMBOL} ${2:value}
14 #endif
15 endsnippet
16
17 snippet #if "#if #endif" b
18 #if ${1:0}
19 ${VISUAL}${0}
20 #endif
21 endsnippet
22
23 snippet inc "#include local header (inc)"
24 #include "${1:`!p snip.rv = snip.basename + '.h'`}"
25 endsnippet
26
27 snippet Inc "#include <> (Inc)"
28 #include <${1:.h}>
29 endsnippet
30
31 snippet mark "#pragma mark (mark)"
32 #if 0
33 ${1:#pragma mark -
34 }#pragma mark $2
35 #endif
36
37 $0
38 endsnippet
39
40 snippet main "main() (main)"
41 int main(int argc, char *argv[])
42 {
43 ${VISUAL}${0}
44 return 0;
45 }
46 endsnippet
47
48 snippet for "for loop (for)"
49 for (${2:i} = 0; $2 < ${1:count}; ${3:++$2})
50 {
51 ${VISUAL}${0}
52 }
53 endsnippet
54
55 snippet fori "for int loop (fori)"
56 for (${4:int} ${2:i} = 0; $2 < ${1:count}; ${3:++$2})
57 {
58 ${VISUAL}${0}
59 }
60 endsnippet
61
62 snippet enum "Enumeration"
63 enum ${1:name} { $0 };
64 endsnippet
65
66 snippet once "Include header once only guard"
67 #ifndef ${1:`!p
68 if not snip.c:
69 import random, string
70 name = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper()
71 rand = ''.join(random.sample(string.ascii_letters+string.digits, 8))
72 snip.rv = ('%s_%s' % (name,rand)).upper()
73 else:
74 snip.rv = snip.c`}
75 #define $1
76
77 ${VISUAL}${0}
78
79 #endif /* end of include guard: $1 */
80 endsnippet
81
82 snippet td "Typedef"
83 typedef ${1:int} ${2:MyCustomType};
84 endsnippet
85
86 snippet wh "while loop"
87 while(${1:/* condition */}) {
88 ${VISUAL}${0}
89 }
90 endsnippet
91
92 snippet do "do...while loop (do)"
93 do {
94 ${VISUAL}${0}
95 } while(${1:/* condition */});
96 endsnippet
97
98 snippet fprintf "fprintf ..."
99 fprintf(${1:stderr}, "${2:%s}\n"${2/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\);)/}
100 endsnippet
101
102 snippet if "if .. (if)"
103 if (${1:/* condition */})
104 {
105 ${VISUAL}${0}
106 }
107 endsnippet
108
109 snippet el "else .. (else)"
110 else {
111 ${VISUAL}${0}
112 }
113 endsnippet
114
115 snippet eli "else if .. (eli)"
116 else if (${1:/* condition */}) {
117 ${VISUAL}${0}
118 }
119 endsnippet
120
121 snippet ife "if .. else (ife)"
122 if (${1:/* condition */})
123 {
124 ${2}
125 }
126 else
127 {
128 ${3:/* else */}
129 }
130 endsnippet
131
132 snippet printf "printf .. (printf)"
133 printf("${1:%s}\n"${1/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\);)/}
134 endsnippet
135
136 snippet st "struct"
137 struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`}
138 {
139 ${0:/* data */}
140 };
141 endsnippet
142
143 snippet fun "function" b
144 ${1:void} ${2:function_name}(${3})
145 {
146 ${VISUAL}${0}
147 }
148 endsnippet
149
150 snippet fund "function declaration" b
151 ${1:void} ${2:function_name}(${3});
152 endsnippet
153
154 # vim:ft=snippets: