Skip to content

ccls

https://github.com/MaskRay/ccls/wiki

ccls relies on a JSON compilation database specified as compile_commands.json or, for simpler projects, a compile_flags.txt. For details on how to automatically generate one using CMake look here.

Customization options are passed to ccls at initialization time via init_options, a list of available options can be found here. For example:

local lspconfig = require'lspconfig'
lspconfig.ccls.setup {
  init_options = {
    compilationDatabaseDirectory = "build";
    index = {
      threads = 0;
    };
    clang = {
      excludeArgs = { "-frounding-math"} ;
    };
  }
}

Setup

require'lspconfig'.ccls.setup{}

Default values

cmd = { "ccls" }
filetypes = { "c", "cpp", "objc", "objcpp" }
root_dir = function(fname)
      return util.root_pattern('compile_commands.json', 'compile_flags.txt', '.git')(fname) or util.path.dirname(fname)
    end,
Back to top