Provided by: clangd-20_20.1.7-0ubuntu1_amd64 bug

NAME

       clangd - manual page for clangd 20

DESCRIPTION

       OVERVIEW: clangd is a language server that provides IDE-like features to editors.

   It should be used via an editor plugin rather than invoked directly. For more information, see:
              https://clangd.llvm.org/ https://microsoft.github.io/language-server-protocol/

       clangd accepts flags on the commandline, and in the CLANGD_FLAGS environment variable.

       USAGE: clangd [options]

       OPTIONS:

       Generic Options:

       --help                               - Display available options (--help-hidden for more)

       --help-list                          - Display list of available options (--help-list-hidden for more)

       --version                            - Display the version of this program

       clangd compilation flags options:

       --compile-commands-dir=<string>       -  Specify  a  path  to  look for compile_commands.json. If path is
              invalid, clangd will look in the current directory and parent paths of each source file

       --query-driver=<string>              - Comma separated list of  globs  for  white-listing  gcc-compatible
              drivers  that  are  safe  to  execute. Drivers matching any of these globs will be used to extract
              system includes. e.g. /usr/bin/**/clang-*,/path/to/repo/**/g++-*

       clangd feature options:

       --all-scopes-completion              - If set to true, code completion will include  index  symbols  that
              are  not  defined  in  the  scopes  (e.g. namespaces) visible from the code completion point. Such
              completions can insert scope qualifiers

       --background-index                   - Index project code in the background and persist index on disk.

       --background-index-priority=<value>  - Thread priority for building the background index. The  effect  of
              this flag is OS-specific.

       =background
              -   Minimum priority, runs on idle CPUs. May leave 'performance' cores unused.

       =low   -   Reduced priority compared to interactive work.

       =normal
              -   Same priority as other clangd work.

       --clang-tidy                         - Enable clang-tidy diagnostics

       --completion-style=<value>           - Granularity of code completion suggestions

       =detailed
              -   One completion item for each semantically distinct completion, with full type information

       =bundled
              -    Similar completion items (e.g. function overloads) are combined. Type information shown where
              possible

       --experimental-modules-support       - Experimental support for standard c++ modules

       --fallback-style=<string>            - clang-format style to apply by default when no .clang-format  file
              is found

       --function-arg-placeholders=<string>  -  When  disabled  (0),  completions  contain  only parentheses for
              function calls. When enabled (1), completions also contain placeholders for method parameters

       --header-insertion=<value>           - Add #include directives when accepting code completions

       =iwyu  -   Include what you use. Insert the owning header for top-level symbols,  unless  the  header  is
              already directly included or the symbol is forward-declared

       =never -   Never insert #include directives as part of code completion

       --header-insertion-decorators         -  Prepend  a  circular  dot  or space before the completion label,
              depending on whether an include line will be inserted or not

       --import-insertions                  - If header  insertion  is  enabled,  add  #import  directives  when
              accepting code completions or fixing includes in Objective-C code

       --limit-references=<int>              -  Limit  the  number  of references returned by clangd. 0 means no
              limit (default=1000)

       --limit-results=<int>                - Limit the number of results returned by clangd. 0 means  no  limit
              (default=100)

       --project-root=<string>              - Path to the project root. Requires remote-index-address to be set.

       --remote-index-address=<string>      - Address of the remote index server

       --rename-file-limit=<int>             -  Limit  the  number of files to be affected by symbol renaming. 0
              means no limit (default=50)

       clangd miscellaneous options:

       --check[=<string>]                     - Parse one file in isolation instead  of  acting  as  a  language
              server.    Useful    to    investigate/reproduce   crashes   or   configuration   problems.   With
              --check=<filename>, attempts to parse a particular file.

       --enable-config                      - Read user and project configuration from YAML files.
              Project  config  is  from  a  .clangd  file  in  the  project  directory.   User  config  is  from
              clangd/config.yaml in the following directories:

       Windows: %USERPROFILE%\AppData\Local
              Mac OS: ~/Library/Preferences/ Others: $XDG_CONFIG_HOME, usually ~/.config

              Configuration is documented at https://clangd.llvm.org/config.html

       -j <uint>                            - Number of async workers used by clangd. Background index also uses
              this many workers.

       --malloc-trim                        - Release memory periodically via malloc_trim(3).

       --pch-storage=<value>                 -  Storing  PCHs in memory increases memory usages, but may improve
              performance

       =disk  -   store PCHs on disk

       =memory
              -   store PCHs in memory

       clangd protocol and logging options:

       --log=<value>                        - Verbosity of log messages written to stderr

       =error
              -   Error messages only

       =info  -   High level execution tracing

       =verbose
              -   Low level details

       --offset-encoding=<value>            - Force  the  offsetEncoding  used  for  character  positions.  This
              bypasses negotiation via client capabilities

       =utf-8
              -   Offsets are in UTF-8 bytes

       =utf-16
              -   Offsets are in UTF-16 code units

       =utf-32
              -   Offsets are in unicode codepoints

       --path-mappings=<string>              -  Translates between client paths (as seen by a remote editor) and
              server   paths   (where   clangd   sees   files   on    disk).    Comma    separated    list    of
              '<client_path>=<server_path>'  pairs,  the  first  entry  matching  a  given  path  is  used. e.g.
              /home/project/incl=/opt/include,/home/project=/workarea/project

       --pretty                             - Pretty-print JSON output

clangd 20                                           July 2025                                          CLANGD(1)