qol.lua 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. return {
  2. "folke/snacks.nvim",
  3. priority = 1000,
  4. init = function()
  5. local group = vim.api.nvim_create_augroup("BlinkCmpSnacksToggle", { clear = true })
  6. vim.api.nvim_create_autocmd("User", {
  7. group = group,
  8. pattern = "BlinkCmpMenuOpen",
  9. callback = function()
  10. vim.g.snacks_animate = false
  11. end,
  12. })
  13. vim.api.nvim_create_autocmd("User", {
  14. group = group,
  15. pattern = "BlinkCmpMenuClose",
  16. callback = function()
  17. vim.g.snacks_animate = true
  18. end,
  19. })
  20. end,
  21. config = function()
  22. local snacks = require("snacks")
  23. snacks.setup({
  24. bigfile = { enabled = true },
  25. input = {
  26. enabled = true,
  27. prompt_pos = "left",
  28. icon_pos = "left",
  29. expand = false,
  30. win = {
  31. row = 0.4,
  32. position = "float",
  33. border = "rounded",
  34. },
  35. },
  36. debug = { enabled = true },
  37. image = { enabled = true },
  38. indent = { enabled = true, animate = { enabled = false } },
  39. rename = { enabled = true },
  40. notifier = { enabled = true },
  41. scroll = {
  42. enabled = true,
  43. animate = {
  44. duration = { step = 5, total = 50 },
  45. easing = "linear",
  46. },
  47. },
  48. dashboard = {
  49. preset = {
  50. keys = function()
  51. return {
  52. { icon = "⏻", key = "q", desc = "Quit", action = "<cmd>qa<CR>" },
  53. { icon = "󱇧", key = "e", desc = "New Buffer", action = "<cmd>ene<CR>" },
  54. }
  55. end,
  56. header = table.concat({
  57. [[ █ █ ]],
  58. [[ █ ██ ]],
  59. [[ ████ ]],
  60. [[ ██ ███ ]],
  61. [[ █ █ ]],
  62. [[ ]],
  63. [[ n e o v i m ]],
  64. }, "\n"),
  65. },
  66. sections = {
  67. {
  68. section = "header",
  69. },
  70. { title = "MRU ", file = vim.fn.fnamemodify(".", ":~"), padding = 1 },
  71. { section = "recent_files", cwd = true, limit = 10, padding = 1 },
  72. { title = "GMRU", padding = 1 },
  73. { section = "recent_files", limit = 5, padding = 1 },
  74. { title = "Sessions", padding = 1 },
  75. { section = "projects", padding = 1 },
  76. { section = "keys", gap = 0, padding = 1 },
  77. },
  78. },
  79. })
  80. nmap("<leader>.", snacks.scratch.open, { desc = "Toggle Scratch Buffer" })
  81. nmap("<leader>,", snacks.scratch.select, { desc = "Select Scratch Buffer" })
  82. -- Show notifier history
  83. nmap("<leader>ns", snacks.notifier.show_history, { desc = "Show notifier history" })
  84. end,
  85. }