diff options
author | Michael Smith <mikesmiffy128@gmail.com> | 2024-07-15 20:05:47 +0100 |
---|---|---|
committer | Michael Smith <mikesmiffy128@gmail.com> | 2024-07-15 20:05:47 +0100 |
commit | 522d56557b00246286d803425751a4334f3a94a5 (patch) | |
tree | 23ca335a3526197c2a6327ce10bfd58411b0a609 /start/lspconfig-0.1.3/lua/lspconfig/server_configurations/clangd.lua | |
parent | a7b72fc27edac2305dbf0af807981bd703835b25 (diff) |
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.lua | 87 |
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]], - }, - }, -} |