vim: fix cdg usage from build_commands generation

This commit is contained in:
Mathieu Maret 2022-07-31 01:24:17 +02:00
parent 617574713a
commit e8bbce1878
2 changed files with 8 additions and 4 deletions

View File

@ -4,7 +4,7 @@
import json import json
import sys import sys
import re import re
import os
'''A simple compilation database generator, or cdg in short. '''A simple compilation database generator, or cdg in short.
@ -63,7 +63,7 @@ Per https://clang.llvm.org/docs/JSONCompilationDatabase.html
# To workaround that there is no "entering directory..." # To workaround that there is no "entering directory..."
if not pwd: if not pwd:
pwd = "/path/to/your/project/" pwd = os.getcwd()
path_stack.append(pwd) path_stack.append(pwd)
# Special handling for projects like Redis, # Special handling for projects like Redis,

View File

@ -89,7 +89,11 @@ endif
" signatures (S) information. " signatures (S) information.
" --extra=+q : Adds context to the tag name. Note: Without this " --extra=+q : Adds context to the tag name. Note: Without this
" option, the script cannot get class members. " option, the script cannot get class members.
let g:build_cmd="make" if !exists("g:build_cmd")
let g:build_cmd="make"
endif
" More tools can be found here: https://github.com/Sarcasm/notes/blob/master/dev/compilation-database.rst
func! MenuCB(id, result) func! MenuCB(id, result)
if a:result == 1 if a:result == 1
silent exec "!echo '==Building ctags database==' && ctags --fields=+iaS --extra=+q --totals -R --c++-kinds=+p --exclude=.ccls-cache" silent exec "!echo '==Building ctags database==' && ctags --fields=+iaS --extra=+q --totals -R --c++-kinds=+p --exclude=.ccls-cache"
@ -117,7 +121,7 @@ func! MenuCB(id, result)
elseif a:result == 8 "https://github.com/rizsotto/scan-build elseif a:result == 8 "https://github.com/rizsotto/scan-build
execute "!analyze-build" execute "!analyze-build"
elseif a:result == 9 elseif a:result == 9
execute "!make clean > /dev/null && make -nw | python ~/.vim/plugin/cdg.py " execute "!make clean > /dev/null && LANG=C make -nw | python ~/.vim/plugin/cdg.py "
elseif a:result == 10 elseif a:result == 10
echo "Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON to cmake. On modify build option with ccmake" echo "Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON to cmake. On modify build option with ccmake"
endif endif