vim-dadbod-completion
Database auto completion powered by vim-dadbod.
Supports built in omnifunc
, deoplete.nvim and coc.nvim
Install
Dependencies:
For coc.nvim
:CocInstall coc-db
For omnifunc
and deoplete.nvim, install it with your favorite plugin manager.
function! PackagerInit() abort
packadd vim-packager
call packager#init()
call packager#add('kristijanhusak/vim-packager', { 'type': 'opt' })
call packager#add('tpope/vim-dadbod')
call packager#add('kristijanhusak/vim-dadbod-completion')
call packager#add('Shougo/deoplete.nvim')
endfunction
autocmd FileType sql setlocal omnifunc=vim_dadbod_completion#omni
Features
- Autocomplete table names, with automatic quoting where needed. Works for all schemes that vim-dadbod supports.
- Autocomplete table columns, context aware. Also knows to read aliases (
select * from mytable tbl where tbl.id = 1
). Currently works forPostgreSQL
,MySQL
andSQLserver/MSSQL
. - Out of the box integration with vim-dadbod-ui
How it works
- If an sql buffer is created by vim-dadbod-ui, it reads all the configuration from there. It should work out of the box.
- If
vim-dadbod-ui
is not used, vim-dadbodg:db
orb:db
is used. If you want, you can also addb:db_table
to limit autocompletions to that table only.
Settings
Default mark for completion items is [DB]
. To change it, add this to vimrc:
let g:vim_dadbod_completion_mark = 'MYMARK'
Todo
- Integration for column autocompletion with more database types