Fix #1568 - Filter LSP completion results with the prefixes

This commit is contained in:
w0rp 2018-05-28 14:45:07 +01:00
parent cd0dc0a227
commit ef1ec5341f
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 43 additions and 0 deletions

View File

@ -296,6 +296,10 @@ function! ale#completion#ParseLSPCompletions(response) abort
\})
endfor
if has_key(l:info, 'prefix')
return ale#completion#Filter(l:buffer, l:results, l:info.prefix)
endif
return l:results
endfunction

View File

@ -390,3 +390,42 @@ Execute(Should handle Python completion results correctly):
\ ]
\ }
\ })
Execute(Should handle Python completion results correctly):
let b:ale_completion_info = {
\ 'completion_filter': 'ale#completion#python#CompletionItemFilter',
\ 'prefix': 'mig',
\}
AssertEqual
\ [
\ {'word': 'migrations', 'menu': 'xxx', 'info': 'migrations', 'kind': 'f', 'icase': 1},
\ {'word': 'MigEngine', 'menu': 'xxx', 'info': 'mig engine', 'kind': 'f', 'icase': 1},
\ ],
\ ale#completion#ParseLSPCompletions({
\ 'jsonrpc': '2.0',
\ 'id': 6,
\ 'result': {
\ 'isIncomplete': v:false,
\ 'items': [
\ {
\ 'label': 'migrations',
\ 'kind': 3,
\ 'detail': 'xxx',
\ 'documentation': 'migrations',
\ },
\ {
\ 'label': 'MigEngine',
\ 'kind': 3,
\ 'detail': 'xxx',
\ 'documentation': 'mig engine',
\ },
\ {
\ 'label': 'ignore me',
\ 'kind': 3,
\ 'detail': 'nope',
\ 'documentation': 'nope',
\ },
\ ]
\ }
\ })