Mercurial > vim-gutentags
comparison autoload/gutentags/cscope.vim @ 197:eec9b72fe3df
Merge pull request #146 from GitHub.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 27 Jul 2017 22:10:09 -0700 |
parents | cac059bce038 |
children | f7a417234dea |
comparison
equal
deleted
inserted
replaced
193:4cccf8c88421 | 197:eec9b72fe3df |
---|---|
22 " }}} | 22 " }}} |
23 | 23 |
24 " Gutentags Module Interface {{{ | 24 " Gutentags Module Interface {{{ |
25 | 25 |
26 let s:runner_exe = gutentags#get_plat_file('update_scopedb') | 26 let s:runner_exe = gutentags#get_plat_file('update_scopedb') |
27 let s:unix_redir = (&shellredir =~# '%s') ? &shellredir : &shellredir . ' %s' | |
27 let s:added_dbs = [] | 28 let s:added_dbs = [] |
28 | 29 |
29 function! gutentags#cscope#init(project_root) abort | 30 function! gutentags#cscope#init(project_root) abort |
30 let l:dbfile_path = gutentags#get_cachefile( | 31 let l:dbfile_path = gutentags#get_cachefile( |
31 \a:project_root, g:gutentags_scopefile) | 32 \a:project_root, g:gutentags_scopefile) |
32 let b:gutentags_files['cscope'] = l:dbfile_path | 33 let b:gutentags_files['cscope'] = l:dbfile_path |
33 | 34 |
34 if g:gutentags_auto_add_cscope && filereadable(l:dbfile_path) | 35 if g:gutentags_auto_add_cscope && filereadable(l:dbfile_path) |
35 if index(s:added_dbs, l:dbfile_path) < 0 | 36 if index(s:added_dbs, l:dbfile_path) < 0 |
36 call add(s:added_dbs, l:dbfile_path) | 37 call add(s:added_dbs, l:dbfile_path) |
37 execute 'cs add ' . fnameescape(l:dbfile_path) | 38 silent! execute 'cs add ' . fnameescape(l:dbfile_path) |
38 endif | 39 endif |
39 endif | 40 endif |
40 endfunction | 41 endfunction |
41 | 42 |
42 function! gutentags#cscope#command_terminated(job_id, data, event) abort | 43 function! gutentags#cscope#command_terminated(job_id, data, event) abort |
43 if a:data == 0 | 44 if a:data == 0 |
44 if index(s:added_dbs, self.db_file) < 0 | 45 if index(s:added_dbs, self.db_file) < 0 |
45 call add(s:added_dbs, self.db_file) | 46 call add(s:added_dbs, self.db_file) |
46 execute 'cs add ' . fnameescape(s:db_file) | 47 silent! execute 'cs add ' . fnameescape(s:db_file) |
47 else | 48 else |
48 execute 'cs reset' | 49 execute 'cs reset' |
49 endif | 50 endif |
50 endif | 51 endif |
51 endfunction | 52 endfunction |
57 let l:cmd .= ' -f ' . a:tags_file | 58 let l:cmd .= ' -f ' . a:tags_file |
58 let l:file_list_cmd = | 59 let l:file_list_cmd = |
59 \ gutentags#get_project_file_list_cmd(a:proj_dir) | 60 \ gutentags#get_project_file_list_cmd(a:proj_dir) |
60 if !empty(l:file_list_cmd) | 61 if !empty(l:file_list_cmd) |
61 let l:cmd .= ' -L "' . l:file_list_cmd . '"' | 62 let l:cmd .= ' -L "' . l:file_list_cmd . '"' |
63 endif | |
64 if g:gutentags_trace | |
65 if has('win32') | |
66 let l:cmd .= ' -l "' . a:tags_file . '.log"' | |
67 else | |
68 let l:cmd .= ' ' . printf(s:unix_redir, '"' . a:tags_file . '.log"') | |
69 endif | |
70 else | |
71 if !has('win32') | |
72 let l:cmd .= ' ' . printf(s:unix_redir, '/dev/null') | |
73 endif | |
62 endif | 74 endif |
63 let l:cmd .= ' ' | 75 let l:cmd .= ' ' |
64 let l:cmd .= gutentags#get_execute_cmd_suffix() | 76 let l:cmd .= gutentags#get_execute_cmd_suffix() |
65 | 77 |
66 call gutentags#trace("Running: " . l:cmd) | 78 call gutentags#trace("Running: " . l:cmd) |