nix

configuration files that power my machines
Log | Files | Refs | README | LICENSE

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")