aboutsummaryrefslogtreecommitdiff
path: root/lua/config/whichkey.lua
diff options
context:
space:
mode:
authorame <[email protected]>2023-09-29 19:49:11 -0500
committerame <[email protected]>2023-09-29 19:49:11 -0500
commit9818f56002f34190b393951cc0118fd8435b0fe3 (patch)
tree9987d23bde9bfa6beee9697526af8c8fd5258e05 /lua/config/whichkey.lua
init
Diffstat (limited to 'lua/config/whichkey.lua')
-rw-r--r--lua/config/whichkey.lua64
1 files changed, 64 insertions, 0 deletions
diff --git a/lua/config/whichkey.lua b/lua/config/whichkey.lua
new file mode 100644
index 0000000..2fb572f
--- /dev/null
+++ b/lua/config/whichkey.lua
@@ -0,0 +1,64 @@
+local M = {}
+
+function M.setup()
+ local whichkey = require "which-key"
+
+ local conf = {
+ window = {
+ border = "single", -- none, single, double, shadow
+ position = "bottom", -- bottom, top
+ },
+ }
+
+ local opts = {
+ mode = {"n", "v"}, -- Normal mode
+ prefix = " ",
+ buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
+ silent = true, -- use `silent` when creating keymaps
+ noremap = true, -- use `noremap` when creating keymaps
+ nowait = true, -- use `nowait` when creating keymaps
+ }
+
+ local mappings = {
+ --["w"] = { "<cmd>update!<CR>", "Save" },
+ ["f"] = { "<cmd>Neotree<CR>", "fs"},
+ ["t"] = { "<cmd>UndotreeToggle<CR>", "clip tree"},
+ ["e"] = { "<cmd>TroubleToggle<CR>", "errors" },
+ ["g"] = {
+ name = "'games'",
+ ["q"] = { "<cmd>KillKillKill<CR>", "killer sheep" },
+ ["w"] = { "<cmd>Nvimesweeper<CR>", "minesweeper" },
+ ["e"] = { "<cmd>CellularAutomaton make_it_rain<CR>", "c_a make it rain" },
+ ["r"] = { "<cmd>CellularAutomaton game_of_life<CR>", "c_a conway gol" },
+ ["t"] = { "<cmd>Tetris<CR>", "tetris" },
+ ["y"] = { "<cmd>ShenzhenSolitaireNewGame<CR>", "solitaire" },
+ ["u"] = { "<cmd>BlackJackNewGame<CR>", "blackjack" },
+ ["i"] = { "<cmd>lua require('sudoku').setup{}<CR><cmd>Sudoku<CR>", "sudoku" },
+ },
+ ["n"] = {
+ name = "sci",
+ ["i"] = { "<cmd>lua require('nabla').toggle_virt({autogen=true})<CR>", "toggle" },
+ },
+ ["q"] = {
+ name = "quick chords",
+ ["l"] = { "0v$", "line" },
+ ["s"] = { "\"+y", "system grab" },
+ },
+ ["z"] = {
+ name = "packer",
+ c = { "<cmd>PackerCompile<cr>", "compile" },
+ i = { "<cmd>PackerInstall<cr>", "install" },
+ s = { "<cmd>PackerSync<cr>", "sync" },
+ S = { "<cmd>PackerStatus<cr>", "status" },
+ u = { "<cmd>PackerUpdate<cr>", "update" },
+ },
+
+ }
+
+ whichkey.setup(conf)
+ whichkey.register(mappings, opts)
+end
+
+return M
+
+