]> git.rmz.io Git - dotfiles.git/blob - vim/ultisnips/c.snippets
vim: map <leader>r to :make (disables ranger)
[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 snip.rv = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper()
71 else:
72 snip.rv = snip.c`}
73 #define $1
74
75 ${VISUAL}${0}
76
77 #endif // $1
78 endsnippet
79
80 snippet td "Typedef"
81 typedef ${1:int} ${2:MyCustomType};
82 endsnippet
83
84 snippet wh "while loop"
85 while(${1:/* condition */}) {
86 ${VISUAL}${0}
87 }
88 endsnippet
89
90 snippet do "do...while loop (do)"
91 do {
92 ${VISUAL}${0}
93 } while(${1:/* condition */});
94 endsnippet
95
96 snippet fprintf "fprintf ..."
97 fprintf(${1:stderr}, "${2:%s}\n"${2/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\);)/}
98 endsnippet
99
100 snippet if "if .. (if)"
101 if (${1:/* condition */})
102 {
103 ${VISUAL}${0}
104 }
105 endsnippet
106
107 snippet el "else .. (else)"
108 else {
109 ${VISUAL}${0}
110 }
111 endsnippet
112
113 snippet eli "else if .. (eli)"
114 else if (${1:/* condition */}) {
115 ${VISUAL}${0}
116 }
117 endsnippet
118
119 snippet ife "if .. else (ife)"
120 if (${1:/* condition */})
121 {
122 ${2}
123 }
124 else
125 {
126 ${3:/* else */}
127 }
128 endsnippet
129
130 snippet printf "printf .. (printf)"
131 printf("${1:%s}\n"${1/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\);)/}
132 endsnippet
133
134 snippet st "struct"
135 struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`}
136 {
137 ${0:/* data */}
138 };
139 endsnippet
140
141 snippet fun "function" b
142 ${1:void} ${2:function_name}(${3})
143 {
144 ${VISUAL}${0}
145 }
146 endsnippet
147
148 snippet fund "function declaration" b
149 ${1:void} ${2:function_name}(${3});
150 endsnippet
151
152 # vim:ft=snippets: