priority -50 snippet ndf "#ifndef ... #define ... #endif" #ifndef ${1/([A-Za-z0-9_]+).*/$1/} #define ${1:SYMBOL} val #endif endsnippet snippet main "main() (main)" int main(int argc, char **argv) { ${VISUAL}$0 return 0; } endsnippet snippet ig "include guard" `!p if not snip.c: name = re.sub(r'[^A-Za-z0-9]+','_', fn).upper() fpath = os.path.abspath(path) val = '' if (os.path.basename(os.path.dirname(fpath)) == 'src'): dname = os.path.dirname(os.path.dirname(fpath)) dname = os.path.basename(dname) dname = re.sub(r'[^A-Za-z0-9]+','_', dname).upper() val = ('%s_%s' % (dname,name)) else: val = name snip.rv = '#ifndef ' + val + '\n#define ' + val else: snip.rv = snip.c` ${VISUAL}$0 #endif endsnippet