stardiviner
9/9/2012 - 7:05 AM

clang_complete

clang_complete


" neocomplcache
" clang compiler front / ctags / omni complete ==> C, cpp, Go
let g:neocomplcache_omni_functions['c'] = 'ccomplete#Complete' " default C omni

" neocomplcache-clang {{{ clang_complete for neocomplcache.
    " Require: clang_complete
        " clang.so, clang.dll, libclang.dylib
    let g:neocomplcache_clang_use_library = 1 " use clang library
    let g:neocomplcache_clang_library_path = '/usr/lib/'
    let g:neocomplcache_clang_executable_path = '/usr/bin/clang'
    let g:neocomplcache_clang_macros = 1 " -code-completion-macros option
    let g:neocomplcache_clang_patterns = 1 " -code-completion-patterns option
    let g:neocomplcache_clang_auto_options = "path, .clang_complete, clang"
    let g:neocomplcache_clang_user_options = '-std=gnu99 -stdlib=libc'
    " let g:neocomplcache_clang_user_options = '-std=c++11 -stdlib=libc++'
    let g:neocomplcache_clang_debug = 0 " enable debug message.
" }}}

" clang_complete {{{ :h clang_complete.txt
    let g:clang_auto_select = 0 " 0/1/2 auto select first entry in popup menu
    " disable with 0 to solve neocomplcache problem
    let g:clang_complete_auto = 0 " auto complete after -> . ::
    let g:clang_complete_copen = 1 " 1: open quickfix window on error
    let g:clang_hl_errors = 1 " highlight warnings and errors
    let g:clang_periodic_quickfix = 0 " periodically update quickfix
        " you can use g:ClangUpdateQuickFix() with a mapping to do this
    let g:clang_snippets = 1
    " clang_complete, snipmate, ultisnips
    let g:clang_snippets_engine = "ultisnips"
    let g:clang_conceal_snippets = 1
    let g:clang_trailing_placeholder = 0 " for clang_complete snippet engine
    let g:clang_close_preview = 0 " auto close preview window after completion
    let g:clang_exec = "clang" " name or path of clang executable.
    let g:clang_user_options =
                \ '-std=gnu99' .
                \ '-stdlib=libc' .
                \ '-I /usr/include'
    " let g:clang_user_options = '-std=gnu++0x -include malloc.h -fms-extensions -fgnu-runtime'
    " let g:clang_user_options = '-std=c++11 -stdlib=libc++'
    let g:clang_auto_user_options = "path, .clang_complete, clang"
    let g:clang_use_library = 1
    let g:clang_library_path = "/usr/lib/"
    let g:clang_sort_algo = "priority"
    let g:clang_complete_macros = 1
    let g:clang_complete_patterns = 1
" }}}