db.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. return {
  2. "kndndrj/nvim-dbee",
  3. enabled = true,
  4. cmd = "Dbee",
  5. dependencies = {
  6. "MunifTanjim/nui.nvim",
  7. },
  8. -- build = function()
  9. -- local binary = vim.fn.expand("$HOME") .. "/.local/share/nvim/dbee/bin/dbee"
  10. -- if vim.fn.filereadable(binary) ~= 0 then
  11. -- require("dbee").install("go")
  12. -- end
  13. -- end,
  14. config = function(_, opts)
  15. local dbee = require("dbee")
  16. dbee.setup({
  17. -- connections
  18. -- sources = {
  19. -- require("dbee.sources").FileSource:new(vim.fn.expand("$HOME") .. "/.local/share/db_ui/connections.json"),
  20. -- },
  21. -- editor
  22. -- editor = {},
  23. -- result
  24. result = {
  25. -- number of rows in the results set to display per page
  26. page_size = 50,
  27. focus_result = false,
  28. },
  29. -- mappings
  30. mappings = {
  31. -- next/previous page
  32. { key = "L", mode = "", action = "page_next" },
  33. { key = "H", mode = "", action = "page_prev" },
  34. { key = "]", mode = "", action = "page_last" },
  35. { key = "[", mode = "", action = "page_first" },
  36. -- yank rows as csv/json
  37. { key = "<leader>yj", mode = "n", action = "yank_current_json" },
  38. { key = "<leader>yj", mode = "v", action = "yank_selection_json" },
  39. { key = "<leader>YJ", mode = "", action = "yank_all_json" },
  40. { key = "<leader>yc", mode = "n", action = "yank_current_csv" },
  41. { key = "<leader>yc", mode = "v", action = "yank_selection_csv" },
  42. { key = "<leader>YC", mode = "", action = "yank_all_csv" },
  43. -- cancel current call execution
  44. { key = "<C-c>", mode = "", action = "cancel_call" },
  45. },
  46. })
  47. end,
  48. keys = {
  49. {
  50. "<leader>bt",
  51. function()
  52. require("dbee").toggle()
  53. end,
  54. desc = "toggle db_ui",
  55. mode = "n",
  56. silent = true,
  57. },
  58. },
  59. }