X-Git-Url: http://www.git.stargrave.org/?p=dotfiles.git;a=blobdiff_plain;f=vim%2F.vim%2Fautoload%2Fpython%2Fimportcompl.vim;h=aa9a1685df669c28aac1952af2ebbc3ecf9b64a3;hp=cc26c792bb8726b6ce93d3bcc6fc592d337e597e;hb=3822d495f8dbd849e34997694feb47cb0e190628;hpb=c5f634a4e789eef85fcd3ac72f19779d4d87b59e diff --git a/vim/.vim/autoload/python/importcompl.vim b/vim/.vim/autoload/python/importcompl.vim index cc26c79..aa9a168 100644 --- a/vim/.vim/autoload/python/importcompl.vim +++ b/vim/.vim/autoload/python/importcompl.vim @@ -56,13 +56,12 @@ function! python#importcompl#all() abort let imports[m[2]] = m[1] endfor endfor - let lines = getloclist(winnr()) - if len(lines) == 0 | let lines = getqflist() | endif let result = [] - for line in lines - let m = matchlist(line.text, '\(E0602\|F821\).*' . "'" . '\(\w\+\)' . "'$") - if len(m) == 0 || !has_key(imports, m[2]) | continue | endif - call insert(result, imports[m[2]]) + for diag in lsp#ui#vim#diagnostics#get_all_buffer_diagnostics() + if diag["message"] !~ "^undefined name" | continue | endif + let m = diag["message"][strridx(diag["message"][:-2], "'")+1:-2] + if len(m) == 0 || !has_key(imports, m) | continue | endif + call insert(result, imports[m]) endfor call sort(result, "i") call uniq(result)