Interraction avec une base de données depuis Neovim



Cela résout-il un de mes besoins ou un de mes problèmes ? Pas en l'état, pourtant j'ose imaginer que cela me sera utile, ou à défaut que cela me fasse plaisir.

Tim Pope a écrit un plugin permettant de se connecter à des bases de données depuis Neovim : vim-dadbod. Il permet de lancer des requêtes en ligne de commande et de récupérer le résultat dans un buffer, via la commande :DB

Pour avoir une expérience plus complète, il est intéressant d'ajouter le plugin vim-dadbod-ui ajoutant un explorateur de base de données. Utilisable via la commande :DBUIToggle.

Enfin, pour ajouter encore un peu de confort, un plugin pour l'autocomplétion : vim-dadbod-completion.

Pour ce qui est de la configuration de base, c'est assez simple.

Avec Packer :

use {'tpope/vim-dadbod',
   requires = {
    'kristijanhusak/vim-dadbod-ui',
    'kristijanhusak/vim-dadbod-completion'
   }
}

Installation du SQL langage server via Mason (:Mason)

Pour que la completion fonctionne avec nvim-cmp

vim.api.nvim_create_autocmd("FileType", {
  pattern = { "sql", "mysql", "plsql" },
  callback = function()
    cmp.setup.buffer({
      sources = {
        { name = "vim-dadbod-completion" },
        { name = "buffer" },
        { name = "luasnip" },
      },
    })
  end,
  group = autocomplete_group,
})