summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lazy-lock.json21
-rw-r--r--lua/lsp.lua62
-rw-r--r--lua/packages.lua24
3 files changed, 66 insertions, 41 deletions
diff --git a/lazy-lock.json b/lazy-lock.json
index 55ba57e..060b57d 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -1,19 +1,18 @@
{
- "LuaSnip": { "branch": "master", "commit": "bc8ec05022743d3f08bda7a76c6bb5e9a9024581" },
+ "LuaSnip": { "branch": "master", "commit": "8fdb06d4601c019a9ee880473646364bdbed3206" },
"cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" },
"indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" },
"lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" },
- "lsp-zero.nvim": { "branch": "v2.x", "commit": "93d50eb990a977a5a9842c715a0da27303fda29d" },
- "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" },
- "mason.nvim": { "branch": "main", "commit": "c625abf171dfaad790f5703465a93a94334e5049" },
+ "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" },
+ "mason.nvim": { "branch": "main", "commit": "2311d9d883eb709ad9979a726a38c5ce1343b63c" },
"nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" },
- "nvim-lspconfig": { "branch": "master", "commit": "0bc0c38e1b11dfb6b5f1794d53869f89ccf9e78f" },
- "nvim-treesitter": { "branch": "master", "commit": "871f5665d92d59a369cf916e9aa4d321d466f1e3" },
- "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" },
- "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" },
- "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" },
+ "nvim-lspconfig": { "branch": "master", "commit": "10fa01d553ce10646350461ac5ddc71f189e9d1a" },
+ "nvim-treesitter": { "branch": "master", "commit": "a82501244a75b3d59cdc42496e5ad841f31e4d6d" },
+ "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" },
+ "nvim-web-devicons": { "branch": "master", "commit": "f16ec8f6e5d23e4349501dae46e0a661918e086e" },
+ "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" },
"telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" },
- "vscode.nvim": { "branch": "main", "commit": "9cf814fbc1e7ec05fe05e5381beee2ceec5b099c" }
+ "vscode.nvim": { "branch": "main", "commit": "6c46cdf22b31e7cbd2558c3bafeceeadc41dc89e" }
} \ No newline at end of file
diff --git a/lua/lsp.lua b/lua/lsp.lua
index 7d34725..54337eb 100644
--- a/lua/lsp.lua
+++ b/lua/lsp.lua
@@ -1,6 +1,38 @@
-local lsp = require("lsp-zero").preset({})
+require("mason").setup()
-lsp.on_attach(function(client, b)
+require("mason-lspconfig").setup({
+ ensure_installed = { "clangd" },
+})
+
+local cmp = require("cmp")
+cmp.setup({
+ snippet = {
+ expand = function(args)
+ require("luasnip").lsp_expand(args.body)
+ end,
+ },
+ sources = cmp.config.sources({
+ {
+ name = "nvim_lsp",
+ entry_filter = function(entry, ctx)
+ if entry:get_kind() == 15 then -- Snippet
+ print("OH NO")
+ return false
+ end
+ return true
+ end,
+ },
+ }),
+ mapping = cmp.mapping.preset.insert({
+ ['<cr>'] = cmp.mapping.confirm({ select = true }),
+ ['<esc>'] = cmp.mapping.abort(),
+ })
+})
+
+local lsp_capabilities = require("cmp_nvim_lsp").default_capabilities()
+lsp_capabilities.textDocument.completion.completionItem.snipperSupport = false
+
+local lsp_on_attach = function(client, b)
local nmap = function(keys, func, desc)
vim.keymap.set("n", keys, func, { buffer = b, desc = desc })
end
@@ -11,22 +43,22 @@ lsp.on_attach(function(client, b)
nmap("<leader>fr", require("telescope.builtin").lsp_references, "Find references")
nmap("<c-o>", require("telescope.builtin").lsp_document_symbols, "Find document symbols")
nmap("<c-h>", vim.lsp.buf.hover, "Signature help")
-end)
+end
-lsp.ensure_installed({
- "clangd",
-})
+local lspconfig = require("lspconfig")
-require("lspconfig").clangd.setup({
- cmd = { "C:\\Program Files\\LLVM-15\\bin\\clangd.exe" },
+require("mason-lspconfig").setup_handlers({
+ function (server_name)
+ lspconfig[server_name].setup({
+ on_attach = lsp_on_attach,
+ capabilities = lsp_capabilities,
+ })
+ end
})
-lsp.setup()
-
-require("cmp").setup({
- mapping = {
- ['<cr>'] = require("cmp").mapping.confirm({ select = true }),
- ['<esc>'] = require("cmp").mapping.abort(),
- }
+lspconfig.clangd.setup({
+ on_attach = lsp_on_attach,
+ capabilities = lsp_capabilities,
+ cmd = { "C:\\Program Files\\LLVM-15\\bin\\clangd.exe" },
})
diff --git a/lua/packages.lua b/lua/packages.lua
index c98ba8e..052496d 100644
--- a/lua/packages.lua
+++ b/lua/packages.lua
@@ -34,23 +34,17 @@ require("lazy").setup({
},
build = ":TSUpdate",
},
+ {"neovim/nvim-lspconfig"},
{
- "VonHeikemen/lsp-zero.nvim",
- branch = "v2.x",
- dependencies = {
- {"neovim/nvim-lspconfig"},
- {
- "williamboman/mason.nvim",
- build = function()
- pcall(vim.cmd, "MasonUpdate")
- end,
- },
- { "williamboman/mason-lspconfig.nvim" },
- { "hrsh7th/nvim-cmp" },
- { "hrsh7th/cmp-nvim-lsp" },
- { "L3MON4D3/LuaSnip" },
- },
+ "williamboman/mason.nvim",
+ build = function()
+ pcall(vim.cmd, "MasonUpdate")
+ end,
},
+ { "williamboman/mason-lspconfig.nvim" },
+ { "hrsh7th/nvim-cmp" },
+ { "hrsh7th/cmp-nvim-lsp" },
+ { "L3MON4D3/LuaSnip" },
{
"lukas-reineke/indent-blankline.nvim",
},