view autoload/vimcrosoft/youcompleteme.vim @ 10:f444739dd8af

Improvements to YCM dynamic flags. - Fallback to a "companion" item (e.g. header/source) or a nearby item when no flags are found for an item. - Finding a "companion" is also exposed as a standalone script. - Ability to pass extra clang flags, including some from a special file found in the .vimcrosoft directory. - Add support for PCH and other forced-include files. - Add options for short/long args, or forcing forward slashes. - Debugging/troubleshooting options, including dumping a batch file and response file to run clang directly, and the ability to auto-load a solution's last known environment when running in command line.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 24 Sep 2020 23:02:16 -0700
parents 5d2c0db51914
children
line wrap: on
line source


let g:vimcrosoft_extra_clang_args = get(g:, 'vimcrosoft_extra_clang_args', [])

function! vimcrosoft#youcompleteme#init() abort
endfunction

function! vimcrosoft#youcompleteme#on_sln_changed(slnpath) abort
    let g:ycm_global_ycm_extra_conf = vimcrosoft#get_script_path('ycm_extra_conf.py')
    let g:ycm_extra_conf_vim_data = [
                \'g:vimcrosoft_current_sln',
                \'g:vimcrosoft_current_sln_cache',
                \'g:vimcrosoft_current_config',
                \'g:vimcrosoft_current_platform',
				\'g:vimcrosoft_extra_clang_args'
                \]
endfunction

function! vimcrosoft#youcompleteme#on_sln_cleared() abort
    let g:ycm_global_ycm_extra_conf = ''
    let g:ycm_extra_conf_vim_data = []
endfunction

function! vimcrosoft#youcompleteme#on_config_platform_changed(config, platform) abort
    if exists(":YcmCompleter")
        YcmCompleter ClearCompilationFlagCache 
    endif
endfunction