Author: alexfh Date: Wed Sep 5 07:11:13 2012 New Revision: 163211 URL: http://llvm.org/viewvc/llvm-project?rev=163211&view=rev Log: New clang-check vim integration script
Summary: New clang-check vim integration with the 're-run the last invocation when executed from .h file' feature. Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D35 Modified: cfe/trunk/docs/HowToSetupToolingForLLVM.html Modified: cfe/trunk/docs/HowToSetupToolingForLLVM.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/HowToSetupToolingForLLVM.html?rev=163211&r1=163210&r2=163211&view=diff ============================================================================== --- cfe/trunk/docs/HowToSetupToolingForLLVM.html (original) +++ cfe/trunk/docs/HowToSetupToolingForLLVM.html Wed Sep 5 07:11:13 2012 @@ -77,12 +77,38 @@ <p>If you're using vim, it's convenient to have clang-check integrated. Put this into your .vimrc:</p> <pre> - set makeprg=clang-check\ % - map <F5> :make<CR><CR> -</pre> - -<p>When editing C++ code, hit F5 to reparse the current buffer. The output will -go into the error window, which you can enable with <code>:cope</code>.</p> +function! ClangCheckImpl(cmd) + if &autowrite | wall | endif + echo "Running " . a:cmd . " ..." + let l:output = system(a:cmd) + cexpr l:output + cwindow + let w:quickfix_title = a:cmd + if v:shell_error != 0 + cc + endif + let g:clang_check_last_cmd = a:cmd +endfunction + +function! ClangCheck() + let l:filename = expand('%') + if l:filename =~ '\.\(cpp\|cxx\|cc\|c\)$' + call ClangCheckImpl("clang-check " . l:filename) + elseif exists("g:clang_check_last_cmd") + call ClangCheckImpl(g:clang_check_last_cmd) + else + echo "Can't detect file's compilation arguments and no previous clang-check invocation!" + endif +endfunction + +nmap <silent> <F5> :call ClangCheck()<CR><CR> +</pre> + +<p>When editing a .cpp/.cxx/.cc/.c file, hit F5 to reparse the file. In case +the current file has a different extension (for example, .h), F5 will re-run +the last clang-check invocation made from this vim instance (if any). The +output will go into the error window, which is opened automatically when +clang-check finds errors, and can be re-opened with <code>:cope</code>.</p> <p>Other <code>clang-check</code> options that can be useful when working with clang AST:</p> _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
