11 setlocal cinkeys-=0# " don't reindent PP directives
12 setlocal cinoptions+=:0 " don't indent case labels
14 " Load the doxygen syntax
15 let b:load_doxygen_syntax = 1
17 let g:switch_const_definitions =
19 \ '\%(const \)\@!\([[:alnum:]_:<>]\{-}\) \%(&\)\@!': 'const \1 ',
20 \ 'const \([[:alnum:]_:<>]\{-}\) &\@!': 'const \1 &' ,
21 \ 'const \([[:alnum:]_:<>]\{-}\) &': '\1 '
24 nnoremap <buffer> <leader>c :call switch#Switch(g:switch_const_definitions, {})<cr>
26 nnoremap <buffer> gd :YcmCompleter GoTo<CR>
27 nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
30 map <buffer> = <Plug>(operator-clang-format)
31 vnoremap <buffer> = :ClangFormat<CR>
32 " restore = mapping to g=
37 setlocal errorformat+=%f:%l:%c:\ %trror:\ %m
38 setlocal errorformat+=%f:%l:%c:\ %tarning:\ %m
39 setlocal errorformat+=%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f'
40 setlocal errorformat+=%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f'
41 setlocal errorformat+=%D%*\\a:\ Entering\ directory\ [`']%f'
42 setlocal errorformat+=%X%*\\a:\ Leaving\ directory\ [`']%f'
43 setlocal errorformat+=%*[^[]\[%tRROR\]%m\ \[%f:%l\]
44 setlocal errorformat+=%*[^[]\[%tARNING\]%m\ \[%f:%l\]
46 setlocal foldmethod=syntax
47 " set foldlevel according to number of matches of 'namespace' and 'class' not
49 function! InitialFoldLevel()
51 keepjumps keeppatterns silent! 1,/}/s/^\(namespace\|class\) \+[^;]*$//n
53 let &foldlevel=str2nr(split(v:statusmsg)[0])
56 call InitialFoldLevel()