[PATCH] D66740: [clangd] Add docs for configuration knobs in clangd

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 26 08:42:28 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rG3aeed0fd5ad5: [clangd] Add docs for configuration knobs in clangd (authored by kadircet).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66740/new/

https://reviews.llvm.org/D66740

Files:
  clang-tools-extra/docs/clangd/Configuration.rst
  clang-tools-extra/docs/clangd/index.rst


Index: clang-tools-extra/docs/clangd/index.rst
===================================================================
--- clang-tools-extra/docs/clangd/index.rst
+++ clang-tools-extra/docs/clangd/index.rst
@@ -7,6 +7,7 @@
 
    Installation
    Features
+   Configuration
 
 What is clangd?
 ===============
Index: clang-tools-extra/docs/clangd/Configuration.rst
===================================================================
--- /dev/null
+++ clang-tools-extra/docs/clangd/Configuration.rst
@@ -0,0 +1,39 @@
+========
+Configuration
+========
+
+.. contents::
+
+.. role:: raw-html(raw)
+   :format: html
+
+Clangd has a bunch of command-line options that can change its behaviour in
+certain situations. This page aims to define those configuration knobs.
+
+Those command line arguments needs to be specified in an editor-specific way.
+You can find some editor specific instructions in `here <https://clang.llvm.org/extra/clangd/Installation.html#id3>`__.
+
+--query-driver
+==============
+
+Clangd makes use of clang behind the scenes, so it might fail to detect your
+standard library or built-in headers if your project is making use of a custom
+toolchain. That is quite common in hardware-related projects, especially for the
+ones making use of gcc (e.g. ARM's `arm-none-eabi-gcc`).
+
+You can specify your driver as a list of globs or full paths, then clangd will
+execute drivers and fetch necessary include paths to compile your code.
+
+For example if you have your compilers at:
+ - `/path/to/my-custom/toolchain1/arm-none-eabi-gcc`,
+ - `/path/to/my-custom/toolchain2/arm-none-eabi-g++`,
+ - `/path/to/my-custom2/toolchain/arm-none-eabi-g++`,
+you can provide clangd with
+`--query-driver=/path/to/my-custom/**/arm-none-eabi*` to enable execution of
+any binary that has a name starting with `arm-none-eabi` and under
+`/path/to/my-custom/`. This won't allow execution of the last compiler.
+
+Full list of flags
+==================
+
+You can find out about the rest of the flags using `clangd --help`.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66740.217169.patch
Type: text/x-patch
Size: 2023 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190826/28c4183d/attachment-0001.bin>


More information about the cfe-commits mailing list