summaryrefslogblamecommitdiffstats
path: root/autoload/db/adapter/ecto.vim
blob: b2179ab1362cf1cebb7c2bfe04360cb899b9d8fd (plain) (tree)
1
2
3
4
                                             

        
 



















                                                                                                    
if !has_key(g:polyglot_is_disabled, 'elixir')
  finish
endif

let s:path = expand('<sfile>:h')
let s:cmd = join(['mix', 'run', '--no-start', '--no-compile', shellescape(s:path.'/get_repos.exs')])

function! s:repo_list() abort
    return map(systemlist(s:cmd), 'split(v:val)')
endfunction

function! db#adapter#ecto#canonicalize(url) abort
    for l:item in s:repo_list()
        let l:name = get(l:item, 0)
        let l:url = get(l:item, 1)
        if !empty(l:name) && 'ecto:'.l:name ==# a:url
            return l:url
        endif
    endfor
endfunction

function! db#adapter#ecto#complete_opaque(url) abort
    return map(s:repo_list(), 'v:val[0]')
endfunction