llvm/clang-tools-extra/clangd
Jorge Gorbe Moya de9611befe [NFC] Don't pass temporary LangOptions to Lexer
Since https://reviews.llvm.org/D120334, passing a temporary LangOptions
object to Lexer results in stack-use-after-scope.
2022-02-28 12:53:59 -08:00
..
benchmarks [clangd] Cleanup of readability-identifier-naming 2022-02-01 13:31:52 +00:00
fuzzer [clangd] Cleanup of readability-identifier-naming 2022-02-01 13:31:52 +00:00
index [clangd] Fix wrong included header. NFC 2022-02-26 14:21:52 +01:00
indexer [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
quality
refactor [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
support [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
test [clangd] Implement textDocument/typeDefinition 2022-01-13 22:15:10 +01:00
tool [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
unittests [clangd] Test fixes missing from 257559ed9 2022-02-26 21:38:25 +01:00
xpc
AST.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
AST.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ASTSignals.cpp
ASTSignals.h
ClangdLSPServer.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ClangdLSPServer.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ClangdServer.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ClangdServer.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CMakeLists.txt
CodeComplete.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CodeComplete.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CodeCompletionStrings.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CodeCompletionStrings.h
CollectMacros.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CollectMacros.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CompileCommands.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CompileCommands.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Compiler.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Compiler.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Config.cpp
Config.h [clangd] Add designator inlay hints for initializer lists. 2022-01-26 00:35:29 +01:00
ConfigCompile.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ConfigFragment.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ConfigProvider.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ConfigProvider.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ConfigYAML.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Diagnostics.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Diagnostics.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
DraftStore.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
DraftStore.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
DumpAST.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
DumpAST.h [clang] Forward-declare DynTypedNode (NFC) 2022-01-23 13:28:04 -08:00
ExpectedTypes.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ExpectedTypes.h
Feature.cpp
Feature.h
FeatureModule.cpp
FeatureModule.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Features.inc.in
FileDistance.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
FileDistance.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
FindSymbols.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
FindSymbols.h
FindTarget.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
FindTarget.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Format.cpp [NFC] Don't pass temporary LangOptions to Lexer 2022-02-28 12:53:59 -08:00
Format.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
FS.cpp
FS.h
FuzzyMatch.cpp
FuzzyMatch.h
GlobalCompilationDatabase.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
GlobalCompilationDatabase.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Headers.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Headers.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
HeaderSourceSwitch.cpp [NFC][clangd] cleaning up llvm-qualified-auto 2022-01-25 13:26:33 +00:00
HeaderSourceSwitch.h
HeuristicResolver.cpp [clangd] Use castAs<> instead of getAs<> to avoid dereference of nullptr 2022-01-23 13:24:36 +00:00
HeuristicResolver.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Hover.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Hover.h [clangd] getHover - pass FormatStyle argument by const reference 2022-02-18 17:27:45 +00:00
IncludeCleaner.cpp [clangd] Fix include-cleaner false-positive bug 2022-02-26 14:11:48 +01:00
IncludeCleaner.h [clangd] NFC: Move stdlib headers handling to Clang 2022-02-09 11:05:39 +01:00
IncludeFixer.cpp [clangd] Support IncludeFixer or base specifiers 2022-02-26 15:45:59 +01:00
IncludeFixer.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
InlayHints.cpp [clangd] Function return type hints: support lambdas, don't duplicate "->" 2022-02-26 21:28:09 +01:00
InlayHints.h [clangd] Polish clangd/inlayHints and expose them by default. 2022-01-07 15:12:43 +01:00
JSONTransport.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
LSPBinder.h
ParsedAST.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ParsedAST.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
PathMapping.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
PathMapping.h
Preamble.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Preamble.h
Protocol.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Protocol.h [clangd] Add designator inlay hints for initializer lists. 2022-01-26 00:35:29 +01:00
Quality.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Quality.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
QueryDriverDatabase.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
README.md
RIFF.cpp
RIFF.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Selection.cpp [clangd] Use ObjCProtocolLoc for generalized ObjC protocol support 2022-02-18 15:24:00 -05:00
Selection.h
SemanticHighlighting.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
SemanticHighlighting.h
SemanticSelection.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
SemanticSelection.h
SourceCode.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
SourceCode.h [clangd] Don't index __reserved_names in headers. 2022-01-05 16:34:04 +01:00
TidyProvider.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
TidyProvider.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Transport.h
TUScheduler.cpp [clangd] Qualify calls to std::move to silence -Wunqualified-std-cast-call. NFC. 2022-02-26 13:36:14 +01:00
TUScheduler.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
URI.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
URI.h
XRefs.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
XRefs.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00

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.