au BufEnter *.c let b:fswitchlocs = 'reg:|source|include/**|'
augroup END
-" Disable ale as we use ycm
-let b:ale_enabled = 0
-
-nnoremap <buffer> gd :YcmCompleter GoTo<CR>
-nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
-nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
-
-nnoremap <buffer> <leader>fi :YcmCompleter FixIt<CR>
-nnoremap <buffer> <leader>fr :YcmCompleter RefactorRename<space>
-
-" format with =
-call operator#user#define_ex_command('ycmcompleter-format', 'YcmCompleter Format')
-map <buffer> = <Plug>(operator-ycmcompleter-format)
-vnoremap <buffer> = :YcmCompleter Format<CR>
-" restore = mapping to g=
-nnoremap <buffer>g= =
-vnoremap <buffer>g= =
-
-" hover popup
-let g:ycm_auto_hover = ''
-let b:ycm_hover = { 'command': 'GetDoc', 'syntax': &filetype }
-nmap <buffer> gh <plug>(YCMHover)
-nmap <buffer> gH :YcmCompleter GetDoc<CR>
+if exists("g:loaded_youcompleteme")
+ " Disable ale as we use ycm
+ let b:ale_enabled = 0
+
+ nnoremap <buffer> gd :YcmCompleter GoTo<CR>
+ nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
+ nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+
+ " replaced with <leader>ca (code action) in neovim
+ nnoremap <buffer> <leader>fi :YcmCompleter FixIt<CR>
+ " replaced with <leader>cr (code rename) in neovim
+ nnoremap <buffer> <leader>fr :YcmCompleter RefactorRename<space>
+
+ " format with =
+ call operator#user#define_ex_command('ycmcompleter-format', 'YcmCompleter Format')
+ map <buffer> = <Plug>(operator-ycmcompleter-format)
+ vnoremap <buffer> = :YcmCompleter Format<CR>
+ " restore = mapping to g=
+ nnoremap <buffer>g= =
+ vnoremap <buffer>g= =
+
+ " hover popup
+ let g:ycm_auto_hover = ''
+ let b:ycm_hover = { 'command': 'GetDoc', 'syntax': &filetype }
+ nmap <buffer> gh <plug>(YCMHover)
+ nmap <buffer> gH :YcmCompleter GetDoc<CR>
+else
+ " I'm way to used to using = to format than to switch to gq
+ nnoremap <buffer> = gq
+ nnoremap <buffer> == gqq
+ vnoremap <buffer> = gq
+endif
let b:tcomment_options = {'whitespace': 'no'}
setlocal foldlevelstart=1 " at least show content of classes
-nnoremap <buffer> gd :YcmCompleter GoTo<CR>
-nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
-nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+if exists("g:loaded_youcompleteme")
+ nnoremap <buffer> gd :YcmCompleter GoTo<CR>
+ nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
+ nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+endif