summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua
diff options
context:
space:
mode:
authorMichael Smith <mikesmiffy128@gmail.com>2024-07-15 20:05:47 +0100
committerMichael Smith <mikesmiffy128@gmail.com>2024-07-15 20:05:47 +0100
commit522d56557b00246286d803425751a4334f3a94a5 (patch)
tree23ca335a3526197c2a6327ce10bfd58411b0a609 /start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua
parenta7b72fc27edac2305dbf0af807981bd703835b25 (diff)
Update lspconfig, add indent-blanklineHEADmaster
indent-blankline is probably old because I've actually been using it for ages, but I have a strict if-it-ain't-broke policy, so I'm not going to update it. lspconfig *was* broke though with nvim 0.10, so now it's fixed.
Diffstat (limited to 'start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua')
-rw-r--r--start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua87
1 files changed, 0 insertions, 87 deletions
diff --git a/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua b/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua
deleted file mode 100644
index 4e0f2d7..0000000
--- a/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua
+++ /dev/null
@@ -1,87 +0,0 @@
-local util = require 'lspconfig.util'
-
--- https://clangd.llvm.org/extensions.html#switch-between-sourceheader
-local function switch_source_header(bufnr)
- bufnr = util.validate_bufnr(bufnr)
- local clangd_client = util.get_active_client_by_name(bufnr, 'clangd')
- local params = { uri = vim.uri_from_bufnr(bufnr) }
- if clangd_client then
- clangd_client.request('textDocument/switchSourceHeader', params, function(err, result)
- if err then
- error(tostring(err))
- end
- if not result then
- print 'Corresponding file cannot be determined'
- return
- end
- vim.api.nvim_command('edit ' .. vim.uri_to_fname(result))
- end, bufnr)
- else
- print 'method textDocument/switchSourceHeader is not supported by any servers active on the current buffer'
- end
-end
-
-local root_files = {
- '.clangd',
- '.clang-tidy',
- '.clang-format',
- 'compile_commands.json',
- 'compile_flags.txt',
- 'configure.ac', -- AutoTools
-}
-
-local default_capabilities = vim.tbl_deep_extend(
- 'force',
- util.default_config.capabilities or vim.lsp.protocol.make_client_capabilities(),
- {
- textDocument = {
- completion = {
- editsNearCursor = true,
- },
- },
- offsetEncoding = { 'utf-8', 'utf-16' },
- }
-)
-
-return {
- default_config = {
- cmd = { 'clangd' },
- filetypes = { 'c', 'cpp', 'objc', 'objcpp' },
- root_dir = function(fname)
- return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
- end,
- single_file_support = true,
- capabilities = default_capabilities,
- },
- commands = {
- ClangdSwitchSourceHeader = {
- function()
- switch_source_header(0)
- end,
- description = 'Switch between source/header',
- },
- },
- docs = {
- description = [[
-https://clangd.llvm.org/installation.html
-
-**NOTE:** Clang >= 11 is recommended! See [this issue for more](https://github.com/neovim/nvim-lsp/issues/23).
-
-clangd relies on a [JSON compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html) specified as compile_commands.json, see https://clangd.llvm.org/installation#compile_commandsjson
-]],
- default_config = {
- root_dir = [[
- root_pattern(
- '.clangd',
- '.clang-tidy',
- '.clang-format',
- 'compile_commands.json',
- 'compile_flags.txt',
- 'configure.ac',
- '.git'
- )
- ]],
- capabilities = [[default capabilities, with offsetEncoding utf-8]],
- },
- },
-}