keymaps.fnl (2250B)
1 (each [key func (pairs {:<leader><leader> :files 2 :<leader>ff :git_status 3 :<leader>fh :oldfiles 4 :<leader>fg :grep_project 5 :<leader>bb :buffers})] 6 (vim.keymap.set :n key (.. "<cmd>lua require('fzf-lua')." func "()<CR>"))) 7 8 (each [key cmd (pairs {:<leader>ng :<cmd>Neogit<CR> :- :<cmd>Oil<CR>})] 9 (vim.keymap.set :n key cmd)) 10 11 (each [key func (pairs {:<leader>gg :hover 12 :<leader>gd :definition 13 :<leader>gD :declaration 14 :<leader>gi :implementation 15 :<leader>gt :type_definition 16 :<leader>gr :references 17 :<leader>gs :signature_help 18 :<leader>rr :rename 19 :<leader>ga :code_action 20 :<leader>tr :document_symbol})] 21 (vim.keymap.set :n key (.. "<cmd>lua vim.lsp.buf." func "()<CR>"))) 22 23 (vim.keymap.set :n :<leader>ta 24 (fn [] 25 (let [row (. (vim.api.nvim_win_get_cursor 0) 1)] 26 (vim.api.nvim_buf_set_lines 0 row row false ["- [ ] "]) 27 (vim.api.nvim_win_set_cursor 0 [(+ row 1) 5])))) 28 29 (vim.keymap.set :n :<leader>tt 30 (fn [] 31 (let [line (vim.api.nvim_get_current_line)] 32 (var new_line nil) 33 (if (line:match "%[ %]") 34 (set new_line (line:gsub "%[ %]" "[-]" 1)) 35 (line:match "%[%-%]") 36 (set new_line (line:gsub "%[%-%]" "[x]" 1)) 37 (line:match "%[x%]") 38 (set new_line (line:gsub "%[x%]" "[ ]" 1))) 39 (when new_line (vim.api.nvim_set_current_line new_line))))) 40 41 (vim.keymap.set :v :<leader>gf 42 "<cmd>lua vim.lsp.buf.format({async = true})<CR>") 43 44 (vim.keymap.set :i :<C-Space> "<cmd>lua vim.lsp.buf.completion()<CR>") 45 46 (each [key func (pairs {:<leader>gl :open_float 47 :<leader>gp :goto_prev 48 :<leader>gn :goto_next})] 49 (vim.keymap.set :n key (.. "<cmd>lua vim.diagnostic." func "()<CR>"))) 50 51 (vim.keymap.set :n :x "\"_x")