mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-12-25 21:52:23 +00:00
79 lines
3.3 KiB
Fennel
79 lines
3.3 KiB
Fennel
(module keybinds
|
|
{require {a aniseed.core
|
|
nvim aniseed.nvim
|
|
utils utils
|
|
fennel aniseed.fennel
|
|
wk which-key}
|
|
require-macros [macros]})
|
|
|
|
|
|
(utils.keymap :i :<C-Space> "compe#complete()" {:expr true})
|
|
(utils.keymap :i :<esc> "compe#close('<esc>')" {:expr true})
|
|
|
|
|
|
|
|
(wk.setup {})
|
|
|
|
(fn cmd [s desc] [(.. "<cmd>" s "<cr>") desc])
|
|
(fn le [s desc] (cmd (.. "call luaeval(\"" s "\")") desc))
|
|
(fn rebind [s desc] [s desc])
|
|
|
|
(wk.register
|
|
{ "c" { :name "+comment out"}
|
|
"e" { :name "+emmet"}
|
|
|
|
"h" (cmd "bprevious" "previous buffer")
|
|
"l" (cmd "bnext" "next buffer")
|
|
"o" (cmd "Telescope live_grep" "Grep files")
|
|
"p" (cmd "Telescope file_browser" "Open file-browser")
|
|
":" (cmd "Telescope commands" "Search command with fzf")
|
|
|
|
"m" { :name "+Code actions"
|
|
"d" (cmd "Lspsaga hover_doc" "Show documentation")
|
|
"b" (cmd "Lspsaga lsp_finder" "Find stuff")
|
|
"x" (cmd "Lspsaga preview_definition" "Preview definition")
|
|
"o" (cmd "SymbolsOutline" "Outline")
|
|
"S" (cmd "Telescope lsp_document_symbols" "Symbols in document")
|
|
"s" (cmd "Telescope lsp_dynamic_workspace_symbols" "Symbols in workspace")
|
|
"t" (cmd "Lspsaga signature_help" "Show signature help")
|
|
"n" (cmd "Lspsaga rename" "Rename")
|
|
"v" (cmd "Lspsaga code_action" "Apply codeaction")
|
|
"a" (cmd "Lspsaga show_cursor_diagnostics" "Cursor diagnostics")
|
|
"A" (cmd "Lspsaga show_line_diagnostics" "Line diagnostics")
|
|
"E" (cmd "Telescope lsp_workspace_diagnostics" "List diagnostics")
|
|
"r" (cmd "Telescope lsp_references" "Show references")
|
|
"e" (cmd "LspTroubleOpen" "Show diagnostics")
|
|
;"e" (le "vim.lsp.diagnostic.goto_next()" "Jump to the next error")
|
|
"g" (le "vim.lsp.buf.definition()" "Go to definition")
|
|
"i" (le "vim.lsp.buf.implementation()" "Show implementation")
|
|
"f" (le "vim.lsp.buf.formatting()" "format file")}
|
|
|
|
"f" { :name "+folds"
|
|
"o" (cmd "foldopen" "open fold")
|
|
"n" (cmd "foldclose" "close fold")
|
|
"j" (rebind "zj" "jump to next fold")
|
|
"k" (rebind "zk" "jump to previous fold")}
|
|
|
|
"v" { :name "+view-and-layout"
|
|
"n" (cmd "set relativenumber!" "toggle relative numbers")
|
|
"m" (cmd "set nonumber! norelativenumber" "toggle numbers")
|
|
"g" (cmd "Goyo | set linebreak" "toggle focus mode")
|
|
"i" (cmd "IndentGuidesToggle" "toggle indent guides")}
|
|
|
|
"b" { :name "+buffers"
|
|
"b" (cmd "Buffers" "select open buffer")
|
|
"c" (cmd "bdelete!" "close open buffer")
|
|
"w" (cmd "bwipeout!" "wipeout open buffer")}}
|
|
|
|
{ :prefix "<leader>"})
|
|
|
|
(wk.register
|
|
{
|
|
"<tab>" "which_key_ignore"
|
|
"z" { :name "+folds"
|
|
"c" (cmd "foldclose" "close fold")
|
|
"o" (cmd "foldopen" "open fold")}})
|
|
|
|
|
|
(set nvim.o.timeoutlen 200)
|
|
|