all repos

init.lua @ 76791b5

my nvim config

init.lua/lua/plugins/lsp/attach.lua(view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
local function map(from, to)
  vim.keymap.set("n", from, to, {
    buffer = true,
    noremap = true,
    silent = true,
  })
end

return {
  common = function(client, bufnr)
    vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
    client.server_capabilities.documentFormattingProvider = false

    if client.name == "gopls" then
      vim.lsp.codelens.refresh()
    end

    map("K", vim.lsp.buf.hover)
    map("gd", "<cmd>Telescope lsp_definitions<cr>")
    map("gD", vim.lsp.buf.declaration)
    map("gr", "<cmd>Telescope lsp_references<cr>")
    map("gi", "<cmd>Telescope lsp_implementations<cr>")
    map("gs", vim.lsp.buf.signature_help)
    map("gl", vim.diagnostic.open_float)
    map("<leader>li", "<cmd>LspInfo<cr>")
    map("<leader>la", vim.lsp.buf.code_action)
    map("<leader>lr", vim.lsp.buf.rename)
    map("<leader>lf", "<cmd>lua vim.lsp.buf.format {async = true}<cr>")
    map("<leader>ls", "<cmd>Telescope lsp_document_symbols<cr>")
    map("<leader>ll", vim.lsp.codelens.run)
    map("]d", vim.diagnostic.goto_next)
    map("[d", vim.diagnostic.goto_prev)
  end,
  null_ls = function(_, _)
    map("<leader>li", "<cmd>LspInfo<cr>")
    map("<leader>lf", "<cmd>lua vim.lsp.buf.format {async = true}<cr>")
    map("]d", vim.diagnostic.goto_next)
    map("[d", vim.diagnostic.goto_prev)
  end,
}