dots-of-war/files/.config/nvim/fnl/keybinds.fnl

94 lines
3.6 KiB
Text
Raw Normal View History

2021-04-02 17:54:14 +00:00
(module keybinds
{require {a aniseed.core
nvim aniseed.nvim
2021-04-03 14:14:56 +00:00
utils utils
2021-04-29 18:04:17 +00:00
fennel aniseed.fennel
2021-04-30 10:53:30 +00:00
wk which-key
treesitter-selection nvim-treesitter.incremental_selection}
2021-04-02 17:54:14 +00:00
require-macros [macros]})
2021-04-03 19:21:12 +00:00
2021-05-02 09:47:28 +00:00
(utils.keymap :i :<C-Space> "compe#complete()" {:expr true})
2021-04-23 14:46:45 +00:00
(utils.keymap :i :<esc> "compe#close('<esc>')" {:expr true})
2021-04-02 17:54:14 +00:00
2021-04-22 14:00:33 +00:00
2021-04-29 18:04:17 +00:00
(wk.setup {})
2021-04-02 17:54:14 +00:00
2021-04-29 18:04:17 +00:00
(fn cmd [s desc] [(.. "<cmd>" s "<cr>") desc])
(fn le [s desc] (cmd (.. "call luaeval(\"" s "\")") desc))
(fn rebind [s desc] [s desc])
2021-04-02 17:54:14 +00:00
2021-04-29 18:04:17 +00:00
(wk.register
{ "c" { :name "+comment out"}
2021-04-02 17:54:14 +00:00
"e" { :name "+emmet"}
2021-04-29 18:04:17 +00:00
"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")
2021-04-29 19:08:05 +00:00
"e" (cmd "LspTroubleOpen" "Show diagnostics")
2021-04-30 14:26:31 +00:00
"g" [vim.lsp.buf.definition "Go to definition"]
"i" [vim.lsp.buf.implementation "Show implementation"]
"f" [vim.lsp.buf.formatting "format file"]
"h" (cmd "RustToggleInlayHints" "Toggle inlay hints")}
2021-04-02 17:54:14 +00:00
"f" { :name "+folds"
2021-04-29 18:04:17 +00:00
"o" (cmd "foldopen" "open fold")
"n" (cmd "foldclose" "close fold")
"j" (rebind "zj" "jump to next fold")
"k" (rebind "zk" "jump to previous fold")}
2021-04-02 17:54:14 +00:00
"v" { :name "+view-and-layout"
2021-04-29 18:04:17 +00:00
"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")}
2021-04-03 19:21:12 +00:00
"b" { :name "+buffers"
2021-04-29 18:04:17 +00:00
"b" (cmd "Buffers" "select open buffer")
"c" (cmd "bdelete!" "close open buffer")
"w" (cmd "bwipeout!" "wipeout open buffer")}}
{ :prefix "<leader>"})
(wk.register
2021-04-30 10:53:30 +00:00
{ "<tab>" "which_key_ignore"
"gss" "init selection"
2021-04-29 19:08:05 +00:00
"z" { :name "+folds"
"c" (cmd "foldclose" "close fold")
"o" (cmd "foldopen" "open fold")}})
2021-04-30 10:53:30 +00:00
(wk.register
{ "<tab>" "which_key_ignore"}
{ :mode "i"})
2021-04-29 19:08:05 +00:00
2021-04-30 10:53:30 +00:00
(wk.register
{ :name "+Selection"
"j" "increment selection"
"k" "decrement selection"
"l" "increment node"
"h" "decrement node"}
{ :prefix "gs"
:mode "v"})
2021-04-02 17:54:14 +00:00
(set nvim.o.timeoutlen 200)