All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
6 function! lsp#internal#show_message#_enable() abort
7 if g:lsp_show_message_log_level ==# 'none' | return | endif
8 let s:Dispose = lsp#callbag#pipe(
10 \ lsp#callbag#filter({x->
11 \ g:lsp_show_message_log_level !=# 'none' &&
12 \ has_key(x, 'response') && has_key(x['response'], 'method')
13 \ && x['response']['method'] ==# 'window/showMessage'
15 \ lsp#callbag#tap({x->s:handle_show_message(x['server'], x['response']['params'])}),
16 \ lsp#callbag#subscribe({ 'error': function('s:on_error') }),
20 function! lsp#internal#show_message#_disable() abort
21 if exists('s:Dispose')
27 function! s:on_error(e) abort
28 call lsp#log('lsp#internal#show_message error', a:e)
29 if exists('s:Dispose')
35 function! s:handle_show_message(server, params) abort
36 let l:level = s:name_to_level(g:lsp_show_message_log_level)
37 let l:type = a:params['type']
42 let l:message = a:params['message']
44 if l:type == s:ErrorType
46 elseif l:type == s:WarningType
49 echom printf('%s: %s: %s', a:server, s:type_to_name(l:type), l:message)
55 function! s:name_to_level(name) abort
58 elseif a:name ==# 'error'
60 elseif a:name ==# 'warn' || a:name ==# 'warning'
62 elseif a:name ==# 'info'
64 elseif a:name ==# 'log'
71 function! s:type_to_name(type) abort
72 return get(['unknown', 'error', 'warning', 'info', 'log'], a:type, 'unknown')