db source for coc.nvim


Keywords
coc.nvim, db, autocompletions, coc, database, deoplete, deoplete-source, neovim, neovim-plugin, nvim-cmp, vim, vim-dadbod, vim-plugin, vim-plugins
License
MIT
Install
npm install coc-db@0.0.9

Documentation

vim-dadbod-completion

Database auto completion powered by vim-dadbod. Supports built in omnifunc, deoplete.nvim and coc.nvim

coc-db

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 for PostgreSQL, MySQL and SQLserver/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-dadbod g:db or b:db is used. If you want, you can also add b: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