From f7647a31dc3a6f8faeb36a2bc70adc86e285c39b Mon Sep 17 00:00:00 2001 From: Barak Michener Date: Mon, 20 Jan 2014 20:13:00 -0500 Subject: [PATCH] fix snippets and matching --- .vim/filetype.vim | 1 + .vim/snippets/c.snippets | 87 ++++++++++++++++++++++++++++++++++++++++++++++ .vim/snippets/cpp.snippets | 14 +------- 3 files changed, 89 insertions(+), 13 deletions(-) create mode 100644 .vim/snippets/c.snippets diff --git a/.vim/filetype.vim b/.vim/filetype.vim index f60b5ab..cb65c90 100644 --- a/.vim/filetype.vim +++ b/.vim/filetype.vim @@ -43,6 +43,7 @@ au Filetype html,xml,xsl source ~/.vim/closetag.vim au BufRead,BufNewFile *.go set filetype=go +au FileType cpp let b:delimitMate_matchpairs = "(:),[:],{:},<:>" "Settings per filetype augroup python diff --git a/.vim/snippets/c.snippets b/.vim/snippets/c.snippets new file mode 100644 index 0000000..fa83259 --- /dev/null +++ b/.vim/snippets/c.snippets @@ -0,0 +1,87 @@ +########################################################################### +# TextMate Snippets # +########################################################################### + +snippet ifndef "#ifndef ... #define ... #endif" !b +#ifndef ${1/([A-Za-z0-9_]+).*/$1/} +#define ${1:SYMBOL} ${2:value} +#endif +endsnippet + +snippet #if "#if #endif" !b +#if ${1:0} +${VISUAL}${0:${VISUAL/(.*)/(?1::code)/}} +#endif +endsnippet + +snippet main "main() (main)" ! +int main(int argc, char *argv[]) { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} + return 0; +} +endsnippet + +snippet for "for loop (for)" ! +for (${2:i} = 0; $2 < ${1:count}; ${3:++$2}) { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} +endsnippet + + +snippet enum "Enumeration" ! +enum ${1:name} { + $0 +}; +endsnippet + +snippet wh "while loop" ! +while(${1:/* condition */}) { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} +endsnippet + +snippet do "do...while loop (do)" ! +do { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} while(${1:/* condition */}); +endsnippet + +snippet if "if .. (if)" ! +if (${1:/* condition */}) { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} +endsnippet + +snippet el "else .. (else)" ! +else { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} +endsnippet + +snippet eli "else if .. (eli)" ! +else if (${1:/* condition */}) { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} +endsnippet + +snippet ife "if .. else (ife)" ! +if (${1:/* condition */}) { + ${2:/* code */} +} else { + ${3:/* else */} +} +endsnippet + +snippet st "struct" ! +struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`} { + ${0:/* data */} +}; +endsnippet + +snippet fun "function" b! +${1:void} ${2:function_name}(${3}) { + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} +} +endsnippet + +# vim:ft=snippets: diff --git a/.vim/snippets/cpp.snippets b/.vim/snippets/cpp.snippets index 9967b87..556a954 100644 --- a/.vim/snippets/cpp.snippets +++ b/.vim/snippets/cpp.snippets @@ -20,20 +20,8 @@ endsnippet snippet ns "namespace .. (namespace)" ! namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`} { - ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} + ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}} } // namespace $1 endsnippet -snippet map "std::map (map)" -std::map<${1:key}, ${2:value}> map$0; -endsnippet - -snippet vector "std::vector (v)" -std::vector<${1:char}> v$0; -endsnippet - -snippet tp "template (template)" -template -endsnippet - # vim:ft=snippets: