Improved flow
This commit is contained in:
63
lua/plugins/database.lua
Normal file
63
lua/plugins/database.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
-- Database client: vim-dadbod with UI for PostgreSQL, SQLite, etc.
|
||||
return {
|
||||
-- Dadbod: Database client
|
||||
{
|
||||
"kristijanhusak/vim-dadbod-ui",
|
||||
dependencies = {
|
||||
{ "tpope/vim-dadbod", lazy = true },
|
||||
{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
|
||||
},
|
||||
cmd = { "DBUI", "DBUIToggle", "DBUIAddConnection", "DBUIFindBuffer" },
|
||||
keys = {
|
||||
{ "<leader>Du", "<cmd>DBUIToggle<cr>", desc = "Toggle DBUI" },
|
||||
{ "<leader>Da", "<cmd>DBUIAddConnection<cr>", desc = "Add DB Connection" },
|
||||
{ "<leader>Df", "<cmd>DBUIFindBuffer<cr>", desc = "Find DB Buffer" },
|
||||
{ "<leader>Dr", "<cmd>DBUIRenameBuffer<cr>", desc = "Rename DB Buffer" },
|
||||
{ "<leader>Dl", "<cmd>DBUILastQueryInfo<cr>", desc = "Last Query Info" },
|
||||
},
|
||||
init = function()
|
||||
vim.g.db_ui_use_nerd_fonts = 1
|
||||
vim.g.db_ui_show_database_icon = 1
|
||||
-- Store connections in a local file (should be gitignored)
|
||||
vim.g.db_ui_save_location = vim.fn.stdpath("data") .. "/db_ui"
|
||||
-- Use .dbout extension for query results
|
||||
vim.g.db_ui_execute_on_save = false
|
||||
-- Table helpers - useful query templates
|
||||
vim.g.db_ui_table_helpers = {
|
||||
postgresql = {
|
||||
Count = "SELECT COUNT(*) FROM {table}",
|
||||
First10 = "SELECT * FROM {table} LIMIT 10",
|
||||
Schema = "\\d+ {table}",
|
||||
},
|
||||
sqlite = {
|
||||
Count = "SELECT COUNT(*) FROM {table}",
|
||||
First10 = "SELECT * FROM {table} LIMIT 10",
|
||||
Schema = ".schema {table}",
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- Which-key group labels for database
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
opts = {
|
||||
spec = {
|
||||
{ "<leader>D", group = "database" },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Autocomplete for SQL buffers
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"kristijanhusak/vim-dadbod-completion",
|
||||
},
|
||||
opts = function(_, opts)
|
||||
opts.sources = opts.sources or {}
|
||||
table.insert(opts.sources, { name = "vim-dadbod-completion" })
|
||||
end,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user