" " VIM C++ Indent file. " Inspired by Google's C++ Style guide: " http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml " if exists("b:did_indent") finish endif let b:did_indent = 1 function! GoogleCppIndent() let l:cline_num = line('.') let l:orig_indent = cindent(l:cline_num) if l:orig_indent == 0 | return 0 | endif let l:pline_num = prevnonblank(l:cline_num - 1) let l:pline = getline(l:pline_num) if l:pline =~# '^\s*template' | return l:pline_indent | endif if l:orig_indent != &shiftwidth | return l:orig_indent | endif let l:in_comment = 0 let l:pline_num = prevnonblank(l:cline_num - 1) while l:pline_num > -1 let l:pline = getline(l:pline_num) let l:pline_indent = indent(l:pline_num) if l:in_comment == 0 && l:pline =~ '^.\{-}\(/\*.\{-}\)\@