From 522d56557b00246286d803425751a4334f3a94a5 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Mon, 15 Jul 2024 20:05:47 +0100 Subject: Update lspconfig, add indent-blankline 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. --- .../lua/lspconfig/server_configurations/ccls.lua | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ccls.lua (limited to 'start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ccls.lua') diff --git a/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ccls.lua b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ccls.lua new file mode 100644 index 0000000..72977df --- /dev/null +++ b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/ccls.lua @@ -0,0 +1,50 @@ +local util = require 'lspconfig.util' + +local root_files = { + 'compile_commands.json', + '.ccls', +} + +return { + default_config = { + cmd = { 'ccls' }, + filetypes = { 'c', 'cpp', 'objc', 'objcpp', 'cuda' }, + root_dir = function(fname) + return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname) + end, + offset_encoding = 'utf-32', + -- ccls does not support sending a null root directory + single_file_support = false, + }, + docs = { + description = [[ +https://github.com/MaskRay/ccls/wiki + +ccls relies on a [JSON compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html) specified +as compile_commands.json or, for simpler projects, a .ccls. +For details on how to automatically generate one using CMake look [here](https://cmake.org/cmake/help/latest/variable/CMAKE_EXPORT_COMPILE_COMMANDS.html). Alternatively, you can use [Bear](https://github.com/rizsotto/Bear). + +Customization options are passed to ccls at initialization time via init_options, a list of available options can be found [here](https://github.com/MaskRay/ccls/wiki/Customization#initialization-options). For example: + +```lua +local lspconfig = require'lspconfig' +lspconfig.ccls.setup { + init_options = { + compilationDatabaseDirectory = "build"; + index = { + threads = 0; + }; + clang = { + excludeArgs = { "-frounding-math"} ; + }; + } +} + +``` + +]], + default_config = { + root_dir = [[root_pattern('compile_commands.json', '.ccls', '.git')]], + }, + }, +} -- cgit v1.2.3