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)