From d3931cd67334c91c17f3e8922924f9b199608913 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Tue, 5 Dec 2017 08:54:32 +0800 Subject: [PATCH] Fix ycm config --- config/plugins_before/YouCompleteMe.vim | 59 ++++++++++++++++--------- 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/config/plugins_before/YouCompleteMe.vim b/config/plugins_before/YouCompleteMe.vim index 615861ddd..d41834b82 100644 --- a/config/plugins_before/YouCompleteMe.vim +++ b/config/plugins_before/YouCompleteMe.vim @@ -1,24 +1,39 @@ "let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py' "let g:ycm_confirm_extra_conf = 0 -let g:ycm_collect_identifiers_from_tags_files = 1 -let g:ycm_collect_identifiers_from_comments_and_strings = 1 -let g:ycm_key_list_select_completion = ['', ''] -let g:ycm_key_list_previous_completion = ['',''] -let g:ycm_seed_identifiers_with_syntax = 1 -let g:ycm_key_invoke_completion = '' -let g:ycm_semantic_triggers = { - \ 'c' : ['->', '.'], - \ 'objc' : ['->', '.'], - \ 'ocaml' : ['.', '#'], - \ 'cpp,objcpp' : ['->', '.', '::'], - \ 'perl' : ['->'], - \ 'php' : ['->', '::'], - \ 'cs,javascript,d,python,perl6,scala,vb,elixir,go' : ['.'], - \ 'java,jsp' : ['.'], - \ 'vim' : ['re![_a-zA-Z]+[_\w]*\.'], - \ 'ruby' : ['.', '::'], - \ 'lua' : ['.', ':'], - \ 'erlang' : [':'], - \ 'sh' : ['re![\w-]{2}', '/', '-'], - \ 'zsh' : ['re![\w-]{2}', '/', '-'], - \ } +let g:ycm_collect_identifiers_from_tags_files = + \ get(g:, 'ycm_collect_identifiers_from_tags_files', 1) +let g:ycm_collect_identifiers_from_comments_and_strings = + \ get(g:, 'ycm_collect_identifiers_from_comments_and_strings', 1) +let g:ycm_key_list_select_completion = + \ get(g:, 'ycm_key_list_select_completion', ['', '']) +let g:ycm_key_list_previous_completion = + \ get(g:, 'ycm_key_list_previous_completion', ['','']) +let g:ycm_seed_identifiers_with_syntax = + \ get(g:, 'ycm_seed_identifiers_with_syntax', 1) +let g:ycm_key_invoke_completion = + \ get(g:, 'ycm_key_invoke_completion', '') + +let g:ycm_semantic_triggers = get(g:, 'ycm_semantic_triggers', {}) + +function! s:set_ft_triggers(ft, expr, override) abort + if a:override + let g:ycm_semantic_triggers[a:ft] = a:expr + elseif !has_key(g:ycm_semantic_triggers, a:ft) + let g:ycm_semantic_triggers[a:ft] = a:expr + endif +endfunction + +call s:set_ft_triggers('c', ['->', '.'], 0) +call s:set_ft_triggers('objc', ['->', '.'], 0) +call s:set_ft_triggers('ocaml', ['.', '#'], 0) +call s:set_ft_triggers('cpp,objcpp', ['->', '.', '::'], 0) +call s:set_ft_triggers('perl', ['->'], 0) +call s:set_ft_triggers('php', ['->', '::'], 0) +call s:set_ft_triggers('cs,javascript,d,python,perl6,scala,vb,elixir,go', ['.'], 0) +call s:set_ft_triggers('java,jsp', ['.'], 0) +call s:set_ft_triggers('vim', ['re![_a-zA-Z]+[_\w]*\.'], 0) +call s:set_ft_triggers('ruby', ['.', '::'], 0) +call s:set_ft_triggers('lua', ['.', ':'], 0) +call s:set_ft_triggers('erlang', [':'], 0) +call s:set_ft_triggers('sh', ['re![\w-]{2}', '/', '-'], 0) +call s:set_ft_triggers('zsh', ['re![\w-]{2}', '/', '-'], 0)