Skip to content

Commit 9d53baf

Browse files
committed
bugfix
1 parent d06eb52 commit 9d53baf

File tree

3 files changed

+32
-26
lines changed

3 files changed

+32
-26
lines changed

autoload/easycomplete/sources/tn.vim

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
let s:tn_job = v:null
22
let s:ctx = v:null
33
let s:opt = v:null
4-
let s:name = ''
4+
let s:tn_name = 'tn'
55
let s:tn_init_ready = v:false
66
" TabNine 第一次匹配需要大量算法运算,比较耗时,完成第一次之后速度比较快
77
let b:module_building = v:false
@@ -20,7 +20,7 @@ let s:force_complete = 0
2020
function! easycomplete#sources#tn#constructor(opt, ctx)
2121
let s:opt = a:opt
2222
let name = get(a:opt, "name", "")
23-
let s:name = name
23+
let s:tn_name = name
2424
if !easycomplete#installer#LspServerInstalled(name)
2525
return v:true
2626
endif
@@ -41,7 +41,7 @@ function! easycomplete#sources#tn#available()
4141
endfunction
4242

4343
function! s:flush()
44-
let global_opt = get(g:easycomplete_source, s:name, {})
44+
let global_opt = get(g:easycomplete_source, s:tn_name, {})
4545
let global_opt.complete_result = []
4646
let s:force_complete = 0
4747
if s:tn_render_timer > 0
@@ -57,15 +57,15 @@ endfunction
5757
" 只更新 g:easycomplete_sources['tn'].complete_result
5858
" refresh(v:true), 强制给出匹配菜单
5959
function! easycomplete#sources#tn#refresh(...)
60+
if !easycomplete#ok('g:easycomplete_tabnine_enable')
61+
return
62+
endif
6063
if exists("a:1") && a:1 == v:true
6164
let s:force_complete = 1
6265
call timer_start(100, { -> s:ResetForceCompleteFlag()})
6366
else
6467
let s:force_complete = 0
6568
endif
66-
if !easycomplete#ok('g:easycomplete_tabnine_enable')
67-
return
68-
endif
6969
call easycomplete#sources#tn#completor(s:opt, easycomplete#context())
7070
endfunction
7171

@@ -107,11 +107,16 @@ function! easycomplete#sources#tn#VimColonTyping(typed)
107107
endfunction
108108

109109
function! easycomplete#sources#tn#GetGlobalSourceItems()
110-
return g:easycomplete_source[s:name].complete_result
110+
return g:easycomplete_source[s:tn_name].complete_result
111111
endfunction
112112

113113
function! easycomplete#sources#tn#SetGlobalSourceItems(items)
114-
let g:easycomplete_source[s:name].complete_result = a:items
114+
if !has_key(g:easycomplete_source, s:tn_name)
115+
let g:easycomplete_source[s:tn_name] = {
116+
\ "complete_result" : []
117+
\ }
118+
endif
119+
let g:easycomplete_source[s:tn_name].complete_result = a:items
115120
endfunction
116121

117122
function! easycomplete#sources#tn#completor(opt, ctx) abort
@@ -178,7 +183,7 @@ endfunction
178183

179184
function! easycomplete#sources#tn#GetTabNineVersion()
180185
if empty(s:version)
181-
let l:tabnine_cmd = easycomplete#installer#GetCommand(s:name)
186+
let l:tabnine_cmd = easycomplete#installer#GetCommand(s:tn_name)
182187
let l:tabnine_dir = fnameescape(fnamemodify(l:tabnine_cmd, ':p:h'))
183188
let l:version_file = l:tabnine_dir . '/version'
184189

@@ -297,10 +302,10 @@ function! s:DD(dir) abort
297302
endfunction
298303

299304
function! s:StartTabNine()
300-
if empty(s:name)
305+
if empty(s:tn_name)
301306
return
302307
endif
303-
let name = s:name
308+
let name = s:tn_name
304309
let l:tabnine_path = easycomplete#installer#GetCommand(name)
305310
let l:tabnine_root_path = fnameescape(fnamemodify(l:tabnine_path, ':p:h'))
306311
call s:DeleteAllDirsExceptTow(l:tabnine_root_path . "/binaries")
@@ -354,7 +359,7 @@ function! s:TabnineJobCallback(job_id, data, event)
354359
call easycomplete#tabnine#LoadingStop()
355360
let l:ctx = easycomplete#context()
356361
if a:event != 'stdout'
357-
call easycomplete#complete(s:name, s:ctx, s:ctx['startcol'], [])
362+
call easycomplete#complete(s:tn_name, s:ctx, s:ctx['startcol'], [])
358363
return
359364
endif
360365
if !exists('b:module_building') | let b:module_building = v:false | endif
@@ -439,10 +444,10 @@ function! s:CompleteHandler(res)
439444
if len(easycomplete#GetStuntMenuItems()) == 0 && g:easycomplete_first_complete_hit == 0
440445
" First Complete
441446
if s:tn_render_timer == 0
442-
call easycomplete#complete(s:name, s:ctx, s:ctx['startcol'], [])
447+
call easycomplete#complete(s:tn_name, s:ctx, s:ctx['startcol'], [])
443448
" tn 的返回已经超时了,为了防止pum抖动,结果直接丢弃
444449
else
445-
call easycomplete#complete(s:name, s:ctx, s:ctx['startcol'], result)
450+
call easycomplete#complete(s:tn_name, s:ctx, s:ctx['startcol'], result)
446451
let s:tn_render_timer = 0
447452
endif
448453
else
@@ -467,15 +472,15 @@ function! s:CompleteHandler(res)
467472
catch
468473
call s:log("[TabNine Error]:", "CompleteHandler", v:exception)
469474
let l:ctx = easycomplete#context()
470-
call easycomplete#complete(s:name, l:ctx, l:ctx['startcol'], [])
475+
call easycomplete#complete(s:tn_name, l:ctx, l:ctx['startcol'], [])
471476
endtry
472477
endfunction
473478

474479
function! s:UpdateRendering(result)
475480
if easycomplete#sources#directory#pum()
476481
return
477482
endif
478-
call easycomplete#StoreCompleteSourceItems(s:name, a:result)
483+
call easycomplete#StoreCompleteSourceItems(s:tn_name, a:result)
479484
call easycomplete#TabNineCompleteRendering()
480485
endfunction
481486

autoload/easycomplete/util.vim

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ function! easycomplete#util#GetAttachedPlugins(...)
3131
for name in keys(all_plugins)
3232
let plugin = get(all_plugins, name)
3333
if empty(plugin) | continue | endif
34-
let whitelist = get(plugin, 'whitelist')
34+
let whitelist = get(plugin, 'whitelist', [])
35+
if empty(whitelist)
36+
continue
37+
endif
3538
if index(whitelist, ft) >= 0
3639
call add(attached_plugins, plugin)
3740
endif

plugin/easycomplete.vim

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -305,15 +305,13 @@ augroup easycomplete#PluginRegister
305305
\ 'completor': function('easycomplete#sources#directory#completor'),
306306
\ })
307307

308-
if g:easycomplete_tabnine_enable
309-
au User easycomplete_default_plugin call easycomplete#RegisterSource({
310-
\ 'name': 'tn',
311-
\ 'whitelist': ['*'],
312-
\ 'completor': function('easycomplete#sources#tn#completor'),
313-
\ 'constructor': function('easycomplete#sources#tn#constructor'),
314-
\ 'command': 'TabNine',
315-
\ })
316-
endif
308+
au User easycomplete_default_plugin call easycomplete#RegisterSource({
309+
\ 'name': 'tn',
310+
\ 'whitelist': ['*'],
311+
\ 'completor': function('easycomplete#sources#tn#completor'),
312+
\ 'constructor': function('easycomplete#sources#tn#constructor'),
313+
\ 'command': 'TabNine',
314+
\ })
317315

318316
au User easycomplete_default_plugin call easycomplete#RegisterSource({
319317
\ 'name': 'buf',

0 commit comments

Comments
 (0)