Skip to content

Commit 3df52cd

Browse files
committed
support java
1 parent 6e2d44e commit 3df52cd

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

plugin/codequery.vim

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,26 @@ function! s:construct_go_db_build_cmd(db_path)
189189
endfunction
190190

191191

192+
function! s:construct_java_db_build_cmd(db_path)
193+
let find_cmd = 'find . -iname "*.java" > java_cscope.files'
194+
let cscope_cmd = 'cscope -cbR -i java_cscope.files -f java_cscope.out'
195+
let ctags_cmd = 'ctags --fields=+i -n -R -f "java_tags" -L java_cscope.files'
196+
let cqmakedb_cmd = 'cqmakedb -s "' . a:db_path . '" -c java_cscope.out' .
197+
\ ' -t java_tags -p'
198+
let shell_cmd = find_cmd . ' && ' .
199+
\ cscope_cmd . ' && ' .
200+
\ ctags_cmd . ' && ' .
201+
\ cqmakedb_cmd
202+
203+
if exists('g:codequery_enable_auto_clean_languages') &&
204+
\ index(g:codequery_enable_auto_clean_languages, 'java') != -1
205+
let shell_cmd .= '&& rm java_cscope.files java_cscope.out java_tags'
206+
endif
207+
208+
return exists('g:codequery_build_java_db_cmd') ? g:codequery_build_java_db_cmd : shell_cmd
209+
endfunction
210+
211+
192212
function! s:is_valid_word(word)
193213
return strlen(matchstr(a:word, '\v^[a-z|A-Z|0-9|_|*|?]+$')) > 0
194214
endfunction
@@ -535,6 +555,8 @@ function! s:make_codequery_db(args)
535555
let shell_cmd = s:construct_ruby_db_build_cmd(db_path)
536556
elseif ft ==? 'go'
537557
let shell_cmd = s:construct_go_db_build_cmd(db_path)
558+
elseif ft ==? 'java'
559+
let shell_cmd = s:construct_java_db_build_cmd(db_path)
538560
else
539561
echom 'No Command For Building ' . ft . ' DB'
540562
continue

0 commit comments

Comments
 (0)