From b75606a405b5be3c598aa07e0cb4b6dd189b1430 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Tue, 17 Oct 2017 23:11:16 +0800 Subject: [PATCH] Add debug for job api --- autoload/SpaceVim/api/job.vim | 11 +++++++++++ autoload/SpaceVim/plugins/pmd.vim | 16 +++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/autoload/SpaceVim/api/job.vim b/autoload/SpaceVim/api/job.vim index 2bd8cb3bf..d07fa4511 100644 --- a/autoload/SpaceVim/api/job.vim +++ b/autoload/SpaceVim/api/job.vim @@ -8,6 +8,7 @@ let s:self.jobs = {} let s:self.nvim_job = has('nvim') let s:self.vim_job = !has('nvim') && has('job') && has('patch-8.0.0027') let s:self.vim_co = SpaceVim#api#import('vim#compatible') +let s:self._message = [] if !s:self.nvim_job && !s:self.vim_job augroup SpaceVim_job @@ -78,6 +79,12 @@ function! s:self.start(argv, ...) abort if job > 0 let msg = ['process '. jobpid(job), ' run'] call extend(self.jobs, {job : msg}) + else + if job == -1 + call add(self._message, 'Failed to start job:' . (type(a:argv) == 3 ? a:argv[0] : a:argv) . ' is not executeable') + elseif job == 0 + call add(self._message, 'Failed to start job: invalid arguments') + endif endif return job elseif self.vim_job @@ -226,3 +233,7 @@ function! s:self.info(id) abort call self.warn() endif endfunction + +function! s:self.debug() abort + echo join(self._message, "\n") +endfunction diff --git a/autoload/SpaceVim/plugins/pmd.vim b/autoload/SpaceVim/plugins/pmd.vim index f805d131c..bdbb49b3c 100644 --- a/autoload/SpaceVim/plugins/pmd.vim +++ b/autoload/SpaceVim/plugins/pmd.vim @@ -22,8 +22,8 @@ let s:options = { \ 'complete' : 'file', \ }, \ '-cache' : { - \ 'description' : 'Set cache directory', - \ 'complete' : 'dir', + \ 'description' : 'Set cache file', + \ 'complete' : 'file', \ }, \ } @@ -31,10 +31,6 @@ if !exists('Pmd_Cmd') let g:Pmd_Cmd = ['pmd'] endif -if !exists('Pmd_Cache_Dir') - let g:Pmd_Cache_Dir = expand('~/.cache/pmd/') -endif - if !exists('Pmd_Rulesets') let g:Pmd_Rulesets = ["-R", "java-basic,java-design", "-property", "xsltFilename=my-own.xs"] endif @@ -70,6 +66,7 @@ function! s:on_pmd_stdout(id, data, event) abort endfunction function! s:on_pmd_stderr(id, data, event) abort + let s:JOB._message += a:data if g:Pmd_silent_stderr == 0 echom string(a:data) endif @@ -82,11 +79,7 @@ function! s:on_pmd_exit(id, data, event) abort endfunction function! SpaceVim#plugins#pmd#run(...) - let argv = g:Pmd_Cmd - if isdirectory(g:Pmd_Cache_Dir) && index(a:000, '-cache') == -1 - let argv += ['-cache', g:Pmd_Cache_Dir] - endif - let argv += a:000 + let argv = g:Pmd_Cmd + a:000 if index(a:000, '-R') == -1 let argv += g:Pmd_Rulesets endif @@ -105,6 +98,7 @@ endfunction function! SpaceVim#plugins#pmd#debug() call s:CMD.debug() + call s:JOB.debug() endfunction