.config/nvim/lua/plugins/lsp.lua

changeset 1014
b57969db48db
child 1015
21950cadff6b
equal deleted inserted replaced
1013:125540e1a1a7 1014:b57969db48db
1 return {
2 "neovim/nvim-lspconfig",
3 {"williamboman/mason.nvim", config = true},
4 {"j-hui/fidget.nvim", config = true},
5
6 {
7 "williamboman/mason-lspconfig.nvim",
8 config = function(plugin, opts)
9 require("mason-lspconfig").setup_handlers({
10 function(server)
11 require("lspconfig")[server].setup({})
12 end,
13 })
14 end,
15 },
16
17 {
18 "hrsh7th/nvim-cmp",
19 event = "InsertEnter",
20 dependencies = {
21 "hrsh7th/cmp-buffer",
22 "hrsh7th/cmp-path",
23 "hrsh7th/cmp-nvim-lsp",
24 "hrsh7th/cmp-nvim-lsp-signature-help",
25 },
26 opts = function()
27 local cmp = require("cmp")
28 return {
29 completion = {
30 completeopt = "menu,menuone,noinsert,noselect",
31 },
32 mapping = cmp.mapping.preset.insert({
33 ["<C-b>"] = cmp.mapping.scroll_docs(-4),
34 ["<C-f>"] = cmp.mapping.scroll_docs(4),
35 ["<Tab>"] = cmp.mapping.select_next_item(),
36 ["<S-Tab>"] = cmp.mapping.select_prev_item(),
37 ["<C-g>"] = cmp.mapping.abort(),
38 ["<Space>"] = cmp.mapping.confirm({select = false}),
39 ["<Right>"] = cmp.mapping.confirm({select = true}),
40 }),
41 sources = cmp.config.sources({
42 { name = "nvim_lsp" },
43 { name = "nvim_lsp_signature_help" },
44 { name = "buffer" },
45 { name = "path" },
46 }),
47 experimental = {
48 ghost_text = {
49 hl_group = "LspCodeLens",
50 },
51 },
52 }
53 end,
54 },
55 }

mercurial