Mercurial > vim-gutentags
changeset 72:99b95da1bed7
Add Neovim support for cscope
author | Jonathan Buschmann <jonthn@pinacea.com> |
---|---|
date | Sat, 02 May 2015 00:21:19 +0200 |
parents | 2d407e62d254 |
children | 130905a7fb9a |
files | autoload/gutentags/cscope.vim |
diffstat | 1 files changed, 23 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/autoload/gutentags/cscope.vim Sat May 02 00:19:02 2015 +0200 +++ b/autoload/gutentags/cscope.vim Sat May 02 00:21:19 2015 +0200 @@ -39,6 +39,17 @@ endif endfunction +function! gutentags#cscope#command_terminated(job_id, data, event) abort + if a:data == 0 + if index(s:added_dbs, self.db_file) < 0 + call add(s:added_dbs, self.db_file) + execute 'cs add ' . fnameescape(s:db_file) + else + execute 'cs reset' + endif + endif +endfunction + function! gutentags#cscope#generate(proj_dir, tags_file, write_mode) abort let l:cmd = gutentags#get_execute_cmd() . s:runner_exe let l:cmd .= ' -e ' . g:gutentags_cscope_executable @@ -50,10 +61,19 @@ call gutentags#trace("Running: " . l:cmd) call gutentags#trace("In: " . getcwd()) if !g:gutentags_fake - if !g:gutentags_trace - silent execute l:cmd + if !(has('nvim') && exists('*jobwait')) + if !g:gutentags_trace + silent execute l:cmd + else + execute l:cmd + endif else - execute l:cmd + let job_dict = { 'db_file': a:tags_file, 'on_exit' : function('gutentags#cscope#command_terminated') } + let job_cmd = [ s:runner_exe, + \ '-e', g:gutentags_cscope_executable, + \ '-p', a:proj_dir, + \ '-f', a:tags_file ] + let job_id = jobstart(job_cmd, job_dict) endif let l:full_scopedb_file = fnamemodify(a:tags_file, ':p')