64 lines
1.3 KiB
VimL
64 lines
1.3 KiB
VimL
|
" don't spam the user when Vim is started in Vi compatibility mode
|
||
|
let s:cpo_save = &cpo
|
||
|
set cpo&vim
|
||
|
|
||
|
let s:Text = 1
|
||
|
let s:Method = 2
|
||
|
let s:Function = 3
|
||
|
let s:Constructor = 4
|
||
|
let s:Field = 5
|
||
|
let s:Variable = 6
|
||
|
let s:Class = 7
|
||
|
let s:Interface = 8
|
||
|
let s:Module = 9
|
||
|
let s:Property = 10
|
||
|
let s:Unit = 11
|
||
|
let s:Value = 12
|
||
|
let s:Enum = 13
|
||
|
let s:Keyword = 14
|
||
|
let s:Snippet = 15
|
||
|
let s:Color = 16
|
||
|
let s:File = 17
|
||
|
let s:Reference = 18
|
||
|
let s:Folder = 19
|
||
|
let s:EnumMember = 20
|
||
|
let s:Constant = 21
|
||
|
let s:Struct = 22
|
||
|
let s:Event = 23
|
||
|
let s:Operator = 24
|
||
|
let s:TypeParameter = 25
|
||
|
|
||
|
function! go#lsp#completionitemkind#Vim(kind) abort
|
||
|
if a:kind == s:Method || a:kind == s:Function || a:kind == s:Constructor
|
||
|
return 'f'
|
||
|
elseif a:kind == s:Variable || a:kind == s:Constant
|
||
|
return 'v'
|
||
|
elseif a:kind == s:Field || a:kind == s:Property
|
||
|
return 'm'
|
||
|
elseif a:kind == s:Class || a:kind == s:Interface || a:kind == s:Struct
|
||
|
return 't'
|
||
|
endif
|
||
|
endfunction
|
||
|
|
||
|
function! go#lsp#completionitemkind#IsFunction(kind) abort
|
||
|
if a:kind == s:Function
|
||
|
return 1
|
||
|
endif
|
||
|
|
||
|
return 0
|
||
|
endfunction
|
||
|
|
||
|
function! go#lsp#completionitemkind#IsMethod(kind) abort
|
||
|
if a:kind == s:Method
|
||
|
return 1
|
||
|
endif
|
||
|
|
||
|
return 0
|
||
|
endfunction
|
||
|
|
||
|
" restore Vi compatibility settings
|
||
|
let &cpo = s:cpo_save
|
||
|
unlet s:cpo_save
|
||
|
|
||
|
" vim: sw=2 ts=2 et
|