Skip to content

Commit d984f88

Browse files
committed
show error when user forgot execute "npm install" command
1 parent 8d4f8f6 commit d984f88

1 file changed

Lines changed: 27 additions & 21 deletions

File tree

autoload/polymer_ide.vim

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ let s:handlers = {}
99
let b:polymer_signs = {}
1010
let s:plugin_path = expand('<sfile>:h')
1111
let s:last_completed_items = []
12+
let s:server_path =s:plugin_path .'/../node_modules/polymer-editor-service/lib/polymer-editor-server.js'
1213

1314
function! s:_on_stdout(ch, msg)
1415
if !empty(a:msg)
@@ -31,23 +32,23 @@ endfunction
3132

3233
function! s:get_process(cur_folder)
3334
if !has_key(s:processes, a:cur_folder)
34-
let job = job_start(['node', s:plugin_path . '/../node_modules/polymer-editor-service/lib/polymer-editor-server.js'], {'callback': function('s:_on_stdout')})
35-
let s:processes[a:cur_folder] = { 'job': job, 'cmd_id': 0, 'chanel': job_getchannel(job) }
36-
call s:make_project_processes(a:cur_folder)
37-
call ch_readraw(s:processes[a:cur_folder].chanel)
38-
augroup bufferModified
39-
autocmd!
40-
autocmd TextChangedI,BufWritePost <buffer> call s:bufferModified()
41-
if exists('g:polymer_ide#use_snippets') && g:polymer_ide#use_snippets
42-
autocmd CompleteDone * call s:CompleteDone()
43-
endif
44-
if exists('g:polymer_ide#on_buffer_text_change') && g:polymer_ide#on_buffer_text_change
45-
autocmd TextChanged <buffer> call s:bufferModified()
46-
endif
47-
augroup END
48-
let process = s:processes[a:cur_folder]
49-
let process.chanel = job_getchannel(process.job)
50-
return process
35+
let job = job_start(['node', s:server_path ], {'callback': function('s:_on_stdout')})
36+
let s:processes[a:cur_folder] = { 'job': job, 'cmd_id': 0, 'chanel': job_getchannel(job) }
37+
call s:make_project_processes(a:cur_folder)
38+
call ch_readraw(s:processes[a:cur_folder].chanel)
39+
augroup bufferModified
40+
autocmd!
41+
autocmd TextChangedI,BufWritePost <buffer> call s:bufferModified()
42+
if exists('g:polymer_ide#use_snippets') && g:polymer_ide#use_snippets
43+
autocmd CompleteDone * call s:CompleteDone()
44+
endif
45+
if exists('g:polymer_ide#on_buffer_text_change') && g:polymer_ide#on_buffer_text_change
46+
autocmd TextChanged <buffer> call s:bufferModified()
47+
endif
48+
augroup END
49+
let process = s:processes[a:cur_folder]
50+
let process.chanel = job_getchannel(process.job)
51+
return process
5152
else
5253
let process = s:processes[a:cur_folder]
5354
let process.chanel = job_getchannel(process.job)
@@ -252,10 +253,15 @@ function! polymer_ide#Complete(findstart, complWord)
252253
endfunction
253254

254255
function! polymer_ide#Enable()
255-
let b:polymer_signs = {}
256-
setlocal omnifunc=polymer_ide#Complete
257-
exe ':cd ' . getcwd()
258-
call s:bufferModified()
256+
if !filereadable(s:server_path)
257+
echoerr 'You forgot execute "npm install" command!'
258+
return 0
259+
else
260+
let b:polymer_signs = {}
261+
setlocal omnifunc=polymer_ide#Complete
262+
exe ':cd ' . getcwd()
263+
call s:bufferModified()
264+
endif
259265
endfunction
260266
"public }}
261267

0 commit comments

Comments
 (0)