init.lua 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. -- if not package.loaded['which-key'] then
  2. -- return
  3. -- end
  4. local status_ok, which_key = pcall(require, "which-key")
  5. if not status_ok then
  6. return
  7. end
  8. which_key.setup(O.plugin.which_key.setup)
  9. -- Set leader
  10. if O.leader_key == " " or O.leader_key == "space" then
  11. vim.api.nvim_set_keymap("n", "<Space>", "<NOP>", { noremap = true, silent = true })
  12. vim.g.mapleader = " "
  13. else
  14. vim.api.nvim_set_keymap("n", O.leader_key, "<NOP>", { noremap = true, silent = true })
  15. vim.g.mapleader = O.leader_key
  16. end
  17. local opts = O.plugin.which_key.opts
  18. -- Comments
  19. vim.api.nvim_set_keymap("n", "<leader>/", ":CommentToggle<CR>", { noremap = true, silent = true })
  20. vim.api.nvim_set_keymap("v", "<leader>/", ":CommentToggle<CR>", { noremap = true, silent = true })
  21. -- dashboard
  22. vim.api.nvim_set_keymap("n", "<Leader>;", ":Dashboard<CR>", { noremap = true, silent = true })
  23. -- Save
  24. vim.api.nvim_set_keymap("n", "<leader>w", ":w!<CR>", { noremap = true, silent = true })
  25. -- no hl
  26. vim.api.nvim_set_keymap("n", "<Leader>h", ':let @/=""<CR>', { noremap = true, silent = true })
  27. -- Quit
  28. vim.api.nvim_set_keymap("n", "<leader>q", ":q!<CR>", { noremap = true, silent = true })
  29. -- open lv-config
  30. vim.api.nvim_set_keymap(
  31. "n",
  32. "<leader>.",
  33. ":e " .. CONFIG_PATH .. "/lv-config.lua<CR>",
  34. { noremap = true, silent = true }
  35. )
  36. -- explorer
  37. vim.api.nvim_set_keymap(
  38. "n",
  39. "<Leader>e",
  40. ":lua require'lv-nvimtree'.toggle_tree()<CR>",
  41. { noremap = true, silent = true }
  42. )
  43. local mappings = O.plugin.which_key.mappings
  44. -- if O.plugin.ts_playground.active then
  45. -- vim.api.nvim_set_keymap("n", "<leader>Th", ":TSHighlightCapturesUnderCursor<CR>", { noremap = true, silent = true })
  46. -- mappings[""] = "Highlight Capture"
  47. -- end
  48. if O.plugin.zen.active then
  49. vim.api.nvim_set_keymap("n", "<leader>z", ":ZenMode<CR>", { noremap = true, silent = true })
  50. mappings["z"] = "Zen"
  51. end
  52. if O.plugin.telescope_project.active then
  53. -- open projects
  54. vim.api.nvim_set_keymap(
  55. "n",
  56. "<leader>P",
  57. ":lua require'telescope'.extensions.project.project{}<CR>",
  58. { noremap = true, silent = true }
  59. )
  60. mappings["P"] = "Projects"
  61. end
  62. if O.plugin.lush.active then
  63. mappings["L"] = {
  64. name = "+Lush",
  65. l = { ":Lushify<cr>", "Lushify" },
  66. x = { ":lua require('lush').export_to_buffer(require('lush_theme.cool_name'))", "Lush Export" },
  67. t = { ":LushRunTutorial<cr>", "Lush Tutorial" },
  68. q = { ":LushRunQuickstart<cr>", "Lush Quickstart" },
  69. }
  70. end
  71. if O.plugin.floatterm then
  72. vim.api.nvim_set_keymap("n", "<leader>gg", "<CMD>lua _G.__fterm_lazygit()<CR>", { noremap = true, silent = true })
  73. mappings["gg"] = "LazyGit"
  74. end
  75. for k, v in pairs(O.user_which_key) do
  76. mappings[k] = v
  77. end
  78. local wk = require "which-key"
  79. wk.register(mappings, opts)