diff --git a/nvim/lua/configs/lspconfig.lua b/nvim/lua/configs/lspconfig.lua index 992b0ee..8c6efcb 100644 --- a/nvim/lua/configs/lspconfig.lua +++ b/nvim/lua/configs/lspconfig.lua @@ -47,13 +47,7 @@ lspconfig.gopls.setup({ }, }) -lspconfig.clangd.setup{ - on_attach = function (client, bufnr) - client.server_capabilities.signatureHelpProvider = false - on_attach(client, bufnr) - end, - capabilities = capabilities -} +lspconfig.clangd.setup{} -- typescript -- lspconfig.tsserver.setup { diff --git a/nvim/lua/configs/null-ls.lua b/nvim/lua/configs/null-ls.lua new file mode 100644 index 0000000..f3e56ca --- /dev/null +++ b/nvim/lua/configs/null-ls.lua @@ -0,0 +1,25 @@ +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) +local null_ls = require("null-ls") + +local opts = { + sources = { + null_ls.builtins.formatting.clang_format, + }, + on_attach = function (client, bufnr) + if client.supports_method("textDocument/formatting") then + vim.api.nvim_clear_autocmds({ + group = augroup, + buffer = bufnr, + }) + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function () + vim.lsp.buf.format({ bufnr = bufnr }) + end + }) + end + end +} + +return opts