plugins.lsp.servers.ccls.initOptions.cache.directory
If your project is /a/b
, cache directories will be created at /a/b/.ccls-cache/@a@b/
(files under the project root) /a/b/.ccls-cache/@@a@b/
(files outside the project root,
e.g. /usr/include/stdio.h).
If the path name is longer than the system limit, set cache.hierarchicalPath
to true.
The cache files will be stored in a hierarchical manner: /a/b/.ccls-cache/a/b/
.
Be careful if you specify an absolute path as files indexed by different projects may
conflict.
This can also be an absolute path.
Because the project path is encoded with @
, cache directories of different projects will
not conflict.
When ccls is started, it will try loading cache files if they are not stale (compile command
line matches and timestamps of main source and its #include
(direct and transitive)
dependencies do not change).
If the argument is an empty string, the cache will be stored only in memory. Use this if you don’t want to write cache files.
Example: "/tmp/ccls-cache"
Type: null or string or raw lua code
Default:
null
Plugin default: ".ccls-cache"
Declared by:
plugins.lsp.servers.ccls.initOptions.cache.format
Specify the format of the cached index files. Binary is a compact binary serialization format.
If you would like to inspect the contents of the cache you can change this to "json"
then
use a JSON formatter such as jq . < /tmp/ccls/@tmp@c/a.cc.json
to display it.
Type: null or string or raw lua code
Default:
null
Plugin default: "binary"
Declared by:
plugins.lsp.servers.ccls.initOptions.cache.retainInMemory
Change to 0 if you want to save memory, but having multiple ccls processes operating in the same directory may corrupt ccls’s in-memory representation of the index.
After this number of loads, keep a copy of file index in memory (which increases memory usage). During incremental updates, the removed file index will be taken from the in-memory copy, instead of the on-disk file.
Every index action is counted: the initial load, a save action.
- 0: never retain
- 1: retain after initial load
- 2: retain after 2 loads (initial load+first save)
Type: null or one of 0, 1, 2 or raw lua code
Default:
null
Plugin default: 1
Declared by: