From 4b14f66e7e3ee1a00399391bbf117287b0bb91b7 Mon Sep 17 00:00:00 2001
From: PowerUser64 <blakelysnorth@gmail.com>
Date: Thu, 14 Apr 2022 14:08:55 -0700
Subject: [PATCH] nvim: new lsp keybinds

---
 .config/nvim/lua/blake/lsp.lua | 47 +++++++++++++++++-----------------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/.config/nvim/lua/blake/lsp.lua b/.config/nvim/lua/blake/lsp.lua
index 174abf0..bdfc8cb 100644
--- a/.config/nvim/lua/blake/lsp.lua
+++ b/.config/nvim/lua/blake/lsp.lua
@@ -194,37 +194,36 @@ end -- <<<
 -- lspconfig >>>
 M.lspconfig = function()
    local nvim_lsp = require('lspconfig')
-   -- Keybinds for servers >>>
+   -- Keybinds >>>
+   -- Use an on_attach function to only map the following keys
+   -- after the language server attaches to the current buffer
+   local opts = { noremap=true, silent=true }
+   vim.api.nvim_set_keymap('n',  '<leader>e',  '<cmd>lua vim.diagnostic.open_float()<CR>',  opts)
+   vim.api.nvim_set_keymap('n',  '[d',         '<cmd>lua vim.diagnostic.goto_prev()<CR>',   opts)
+   vim.api.nvim_set_keymap('n',  ']d',         '<cmd>lua vim.diagnostic.goto_next()<CR>',   opts)
+   vim.api.nvim_set_keymap('n',  '<leader>q',  '<cmd>lua vim.diagnostic.setloclist()<CR>',  opts)
+
    -- Use an on_attach function to only map the following keys
    -- after the language server attaches to the current buffer
    local on_attach = function(client, bufnr)
-      local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
-      local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-
       -- Enable completion triggered by <c-x><c-o>
-      buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
+      vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
 
       -- Mappings.
-      local opts = { noremap=true, silent=true }
-
       -- See `:help vim.lsp.*` for documentation on any of the below functions
-      buf_set_keymap('n', 'gD',         '<cmd>lua vim.lsp.buf.declaration()<CR>',                                 opts)
-      buf_set_keymap('n', 'gd',         '<cmd>lua vim.lsp.buf.definition()<CR>',                                  opts)
-      buf_set_keymap('n', 'K',          '<cmd>lua vim.lsp.buf.hover()<CR>',                                       opts)
-      buf_set_keymap('n', 'gi',         '<cmd>lua vim.lsp.buf.implementation()<CR>',                              opts)
-      buf_set_keymap('n', '<C-k>',      '<cmd>lua vim.lsp.buf.signature_help()<CR>',                              opts)
-      buf_set_keymap('n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>',                        opts)
-      buf_set_keymap('n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>',                     opts)
-      buf_set_keymap('n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>',  opts)
-      buf_set_keymap('n', '<leader>D',  '<cmd>lua vim.lsp.buf.type_definition()<CR>',                             opts)
-      buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>',                                      opts)
-      buf_set_keymap('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>',                                 opts)
-      buf_set_keymap('n', 'gr',         '<cmd>lua vim.lsp.buf.references()<CR>',                                  opts)
-      buf_set_keymap('n', '<leader>e',  '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>',                opts)
-      buf_set_keymap('n', '[d',         '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>',                            opts)
-      buf_set_keymap('n', ']d',         '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>',                            opts)
-      buf_set_keymap('n', '<leader>q',  '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>',                          opts)
-      buf_set_keymap('n', '<leader>f',  '<cmd>lua vim.lsp.buf.formatting()<CR>',                                  opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  'gD',          '<cmd>lua vim.lsp.buf.declaration()<CR>',                                 opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  'gd',          '<cmd>lua vim.lsp.buf.definition()<CR>',                                  opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  'K',           '<cmd>lua vim.lsp.buf.hover()<CR>',                                       opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  'gi',          '<cmd>lua vim.lsp.buf.implementation()<CR>',                              opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<C-k>',       '<cmd>lua vim.lsp.buf.signature_help()<CR>',                              opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>wa',  '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>',                        opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>wr',  '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>',                     opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>wl',  '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>',  opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>D',   '<cmd>lua vim.lsp.buf.type_definition()<CR>',                             opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>rn',  '<cmd>lua vim.lsp.buf.rename()<CR>',                                      opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>ca',  '<cmd>lua vim.lsp.buf.code_action()<CR>',                                 opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  'gr',          '<cmd>lua vim.lsp.buf.references()<CR>',                                  opts)
+      vim.api.nvim_buf_set_keymap(bufnr,  'n',  '<leader>f',   '<cmd>lua vim.lsp.buf.formatting()<CR>',                                  opts)
    end -- <<<
    local capabilities
    if cmp ~= nil then -- only load this if cmp is loaded