llvm-project/clang-tools-extra/clangd
Fangrui Song 2aa0cf19e7 Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler"
This reverts commit 1c0d0085bc.

This commit made unittest BuildCompilerInvocation.DropsPlugins crash.
2021-07-23 09:50:43 -07:00
..
benchmarks [clangd] Cleanup FuzzyFindRequest serialization and dex benchmark 2021-07-21 14:51:16 +02:00
fuzzer [clangd] CMake: express -Iclangd/ at top level and inherit 2021-07-02 09:52:36 +02:00
include-mapping
index [clangd] Improve performance of dex by 45-60% 2021-07-23 15:28:35 +02:00
indexer Use ManagedStatic and lazy initialization of cl::opt in libSupport to make it free of global initializer 2021-07-16 07:38:16 +00:00
quality
refactor [clangd] Add a flag to disable formatting of tweak edits 2021-06-28 20:52:47 +02:00
support Recommit: Support: add llvm::thread class that supports specifying stack size. 2021-07-08 16:22:26 +01:00
test Revert "[clangd] Canonicalize compile flags before applying edits" 2021-07-23 18:20:52 +02:00
tool Revert "[clangd] Unbreak mac build differently 0c96a92d8666b8" 2021-07-02 16:29:48 +02:00
unittests Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler" 2021-07-23 09:50:43 -07:00
xpc [clangd] CMake: express -Iclangd/ at top level and inherit 2021-07-02 09:52:36 +02:00
AST.cpp
AST.h
ASTSignals.cpp
ASTSignals.h
CMakeLists.txt [clangd] Add CMake option to (not) link in clang-tidy checks 2021-07-14 10:04:21 +02:00
CSymbolMap.inc
ClangdLSPServer.cpp [clangd] Log feature configuration (linux+asan+grpc) of the clangd build 2021-06-30 17:49:29 +02:00
ClangdLSPServer.h [clangd] Log feature configuration (linux+asan+grpc) of the clangd build 2021-06-30 17:49:29 +02:00
ClangdServer.cpp [clangd] Add a flag to disable formatting of tweak edits 2021-06-28 20:52:47 +02:00
ClangdServer.h
CodeComplete.cpp [clang-tools-extra] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
CodeComplete.h
CodeCompletionStrings.cpp
CodeCompletionStrings.h
CollectMacros.cpp
CollectMacros.h
CompileCommands.cpp Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler" 2021-07-23 09:50:43 -07:00
CompileCommands.h Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler" 2021-07-23 09:50:43 -07:00
Compiler.cpp Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler" 2021-07-23 09:50:43 -07:00
Compiler.h
Config.cpp
Config.h
ConfigCompile.cpp [clangd] Log feature configuration (linux+asan+grpc) of the clangd build 2021-06-30 17:49:29 +02:00
ConfigFragment.h
ConfigProvider.cpp
ConfigProvider.h
ConfigYAML.cpp [clang-tools-extra] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
Diagnostics.cpp
Diagnostics.h
DraftStore.cpp
DraftStore.h
DumpAST.cpp
DumpAST.h
ExpectedTypes.cpp
ExpectedTypes.h
FS.cpp
FS.h
FeatureModule.cpp
FeatureModule.h
Features.cpp [clangd] Add CMake option to (not) link in clang-tidy checks 2021-07-14 10:04:21 +02:00
Features.h [clangd] Log feature configuration (linux+asan+grpc) of the clangd build 2021-06-30 17:49:29 +02:00
Features.inc.in [clangd] Add CMake option to (not) link in clang-tidy checks 2021-07-14 10:04:21 +02:00
FileDistance.cpp
FileDistance.h
FindSymbols.cpp
FindSymbols.h
FindTarget.cpp
FindTarget.h
Format.cpp
Format.h
FuzzyMatch.cpp
FuzzyMatch.h
GlobalCompilationDatabase.cpp Revert "[clangd] Adjust compile flags to contain only the requested file as input" 2021-07-23 17:58:11 +02:00
GlobalCompilationDatabase.h
HeaderSourceSwitch.cpp [clang-tools-extra] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
HeaderSourceSwitch.h
Headers.cpp
Headers.h
HeuristicResolver.cpp
HeuristicResolver.h
Hover.cpp [clangd] Show padding following a field on field hover. 2021-06-30 17:50:59 +02:00
Hover.h [clangd] Show padding following a field on field hover. 2021-06-30 17:50:59 +02:00
IncludeFixer.cpp
IncludeFixer.h
InlayHints.cpp [clangd] Type hints for structured bindings 2021-07-04 21:53:36 -04:00
InlayHints.h
JSONTransport.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
LSPBinder.h
ParsedAST.cpp [clangd] Propagate header-guarded flag from preamble to main AST 2021-07-20 14:21:39 +02:00
ParsedAST.h Fix duplicate checks in clangd comments 2021-07-19 15:14:55 +02:00
PathMapping.cpp
PathMapping.h
Preamble.cpp [clangd] Remove big PreambleData constructor. NFC 2021-07-21 11:31:52 +02:00
Preamble.h [clangd] Remove big PreambleData constructor. NFC 2021-07-21 11:31:52 +02:00
Protocol.cpp
Protocol.h
Quality.cpp [clang-tools-extra] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
Quality.h
QueryDriverDatabase.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
README.md
RIFF.cpp
RIFF.h
Selection.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
Selection.h
SemanticHighlighting.cpp [clangd] Fix highlighting for implicit ObjC property refs 2021-06-30 12:31:50 -04:00
SemanticHighlighting.h
SemanticSelection.cpp
SemanticSelection.h
SourceCode.cpp
SourceCode.h
StdSymbolMap.inc
TUScheduler.cpp Reapply [clangd] Fix possible assertion fail in TUScheduler 2021-07-02 16:32:13 +02:00
TUScheduler.h
TidyProvider.cpp
TidyProvider.h
Transport.h Revert "[clangd] Unbreak mac build differently 0c96a92d8666b8" 2021-07-02 16:29:48 +02:00
URI.cpp
URI.h
XRefs.cpp
XRefs.h

README.md

clangd

clangd is a language server, and provides C++ IDE features to editors. This is not its documentation.

Communication channels

If you have any questions or feedback, you can reach community and developers through one of these channels:

Building and testing clangd

For a minimal setup on building clangd:

  • Clone the LLVM repo to $LLVM_ROOT.

  • Create a build directory, for example at $LLVM_ROOT/build.

  • Inside the build directory run: cmake $LLVM_ROOT/llvm/ -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra".

    • We suggest building in Release mode as building DEBUG binaries requires considerably more resources. You can check Building LLVM with CMake documentation for more details about cmake flags.
    • In addition to that using Ninja as a generator rather than default make is preferred. To do that consider passing -G Ninja to cmake invocation.
    • Finally, you can turn on assertions via -DLLVM_ENABLE_ASSERTS=On.
  • Afterwards you can build clangd with cmake --build $LLVM_ROOT/build --target clangd, similarly run tests by changing target to check-clangd.