@@ -9,6 +9,7 @@ let s:handlers = {}
99let b: polymer_signs = {}
1010let s: plugin_path = expand (' <sfile>:h' )
1111let s: last_completed_items = []
12+ let s: server_path = s: plugin_path .' /../node_modules/polymer-editor-service/lib/polymer-editor-server.js'
1213
1314function ! s: _on_stdout (ch , msg)
1415 if ! empty (a: msg )
@@ -31,23 +32,23 @@ endfunction
3132
3233function ! 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)
252253endfunction
253254
254255function ! 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
259265endfunction
260266" public }}
261267
0 commit comments