llvm/clang-tools-extra/clangd
Kazu Hirata 3f3930a451 Remove redundaunt virtual specifiers (NFC)
Identified with tidy-modernize-use-override.
2022-07-25 23:00:59 -07:00
..
benchmarks
fuzzer Reland "[FuzzMutate] Split out FuzzerCLI library that doesn't depend on IR." 2022-05-07 13:49:54 +02:00
index Use the range-based overload of llvm::sort where possible 2022-07-23 15:13:25 +02:00
indexer
quality
refactor Remove redundaunt override specifiers (NFC) 2022-07-24 22:28:11 -07:00
support Remove redundaunt virtual specifiers (NFC) 2022-07-25 23:00:59 -07:00
test [clangd] Remove allCommitCharacters 2022-07-12 21:42:38 +02:00
tool [clangd] Mention whether compile flags were inferred in check mode 2022-07-21 17:33:44 +02:00
unittests [clangd] Do not try to use $0 as a placeholder in completion snippets 2022-07-24 03:01:18 -04:00
xpc Use value_or instead of getValueOr. NFC 2022-06-29 21:55:02 -07:00
AST.cpp Remove redundaunt virtual specifiers (NFC) 2022-07-25 23:00:59 -07:00
AST.h [clangd] add inlay hints for std::forward-ed parameter packs 2022-07-06 22:23:18 +02:00
ASTSignals.cpp [clangd] Record latency for ASTSignal derivation 2022-04-28 14:34:39 +02:00
ASTSignals.h
ClangdLSPServer.cpp Use value instead of getValue (NFC) 2022-07-15 20:03:13 -07:00
ClangdLSPServer.h [clangd] Support for standard inlayHint protocol 2022-05-10 18:59:15 +02:00
ClangdServer.cpp Use value instead of getValue (NFC) 2022-07-15 20:03:13 -07:00
ClangdServer.h [clangd] Support external throttler for preamble builds 2022-07-06 14:58:24 +02:00
CMakeLists.txt Use pseudo parser for folding ranges 2022-07-18 11:35:34 +02:00
CodeComplete.cpp Remove redundaunt override specifiers (NFC) 2022-07-24 22:28:11 -07:00
CodeComplete.h [clangd][ObjC] Filter ObjC method completions on the remaining selector 2022-05-20 11:49:16 -04:00
CodeCompletionStrings.cpp [clangd] Do not try to use $0 as a placeholder in completion snippets 2022-07-24 03:01:18 -04:00
CodeCompletionStrings.h
CollectMacros.cpp
CollectMacros.h
CompileCommands.cpp [HLSL] add -I option for dxc mode. 2022-07-20 11:03:22 -07:00
CompileCommands.h
Compiler.cpp [clangd] Skip extra round-trip in parsing args in debug builds. NFC 2022-05-09 14:45:35 +02:00
Compiler.h [clangd] parse all make_unique-like functions in preamble 2022-05-16 11:17:25 +02:00
Config.cpp
Config.h [clangd] Enable designator inlay hints by default. 2022-07-13 16:31:45 +02:00
ConfigCompile.cpp [clang, clang-tools-extra] Use has_value instead of hasValue (NFC) 2022-07-12 22:47:41 -07:00
ConfigFragment.h Reland(3) "[clangd] Indexing of standard library" 2022-05-19 08:13:23 +02:00
ConfigProvider.cpp
ConfigProvider.h
ConfigYAML.cpp Don't use Optional::getValue (NFC) 2022-06-20 23:35:53 -07:00
Diagnostics.cpp Don't use Optional::getValue (NFC) 2022-06-20 23:35:53 -07:00
Diagnostics.h Avoid uninitialized Diag.ID (which we pass but never read) 2022-05-20 20:29:47 +02:00
DraftStore.cpp
DraftStore.h
DumpAST.cpp Reland "[AST] Add a new TemplateKind for template decls found via a using decl."" 2022-04-14 11:04:55 +02:00
DumpAST.h
ExpectedTypes.cpp
ExpectedTypes.h
Feature.cpp
Feature.h
FeatureModule.cpp Don't use Optional::hasValue (NFC) 2022-06-26 19:54:41 -07:00
FeatureModule.h [clangd] Add beforeExecute() callback to FeatureModules. 2022-04-21 18:03:39 +02:00
Features.inc.in
FileDistance.cpp
FileDistance.h
FindSymbols.cpp
FindSymbols.h
FindTarget.cpp Revert "[clang] Implement ElaboratedType sugaring for types written bare" 2022-07-14 21:17:48 -07:00
FindTarget.h
Format.cpp [clangd] Handle tabs in getIncrementalChangesAfterNewline() 2022-03-29 01:43:09 -04:00
Format.h
FS.cpp
FS.h
FuzzyMatch.cpp
FuzzyMatch.h
GlobalCompilationDatabase.cpp Don't use Optional::getValue (NFC) 2022-06-20 23:35:53 -07:00
GlobalCompilationDatabase.h
Headers.cpp [clangd] NFC: Rename field to be compatible with the function name 2022-05-16 10:18:08 +02:00
Headers.h [clangd] NFC: Rename field to be compatible with the function name 2022-05-16 10:18:08 +02:00
HeaderSourceSwitch.cpp [clangd] Test against path insensitivity 2022-03-21 17:27:05 +01:00
HeaderSourceSwitch.h
HeuristicResolver.cpp
HeuristicResolver.h Go-to-type on smart_ptr<Foo> now also shows Foo 2022-07-11 12:13:47 +02:00
Hover.cpp [clangd][NFC] Use the existing ASTContext from scope 2022-06-15 16:10:49 +02:00
Hover.h
IncludeCleaner.cpp [clangd] NFC: Clarify the Include Cleaner warning 2022-05-19 11:59:00 +02:00
IncludeCleaner.h Reland "[clangd] IncludeCleaner: Add support for IWYU pragma private" 2022-04-05 16:57:39 +02:00
IncludeFixer.cpp Use llvm::sort instead of std::sort where possible 2022-07-23 15:19:05 +02:00
IncludeFixer.h
InlayHints.cpp [clangd] add inlay hints for std::forward-ed parameter packs 2022-07-06 22:23:18 +02:00
InlayHints.h
JSONTransport.cpp [clang-tools-extra] Use value_or instead of getValueOr (NFC) 2022-06-19 00:13:38 -07:00
LSPBinder.h
ParsedAST.cpp [clang-tidy][NFC] Add createChecks method that also checks for LangaugeOptions 2022-05-06 17:30:34 +01:00
ParsedAST.h [clangd] Code action to declare missing move/copy constructor/assignment 2022-04-06 16:14:42 +02:00
PathMapping.cpp
PathMapping.h
Preamble.cpp [clangd] parse all make_unique-like functions in preamble 2022-05-16 11:17:25 +02:00
Preamble.h [clangd] Export preamble AST and serialized size as metrics 2022-04-13 14:43:06 +02:00
Protocol.cpp [clangd] Use empty string to represent None semantics in FoldingRange::kind 2022-07-18 15:01:48 +02:00
Protocol.h [clangd] Use empty string to represent None semantics in FoldingRange::kind 2022-07-18 15:01:48 +02:00
Quality.cpp Don't use Optional::hasValue (NFC) 2022-06-20 20:17:57 -07:00
Quality.h
QueryDriverDatabase.cpp [clangd] Handle '--' in QueryDriverDatabase 2022-05-24 13:10:41 -04:00
README.md
RIFF.cpp
RIFF.h
Selection.cpp [AST] Improve traversal of concepts and concept requirements 2022-04-28 09:33:26 +00:00
Selection.h
SemanticHighlighting.cpp [clangd] Support "usedAsMutableReference" in member initializations 2022-07-08 23:16:20 -04:00
SemanticHighlighting.h [clangd] Support multiline semantic tokens 2022-06-29 13:49:03 +02:00
SemanticSelection.cpp Use pseudo parser for folding ranges 2022-07-18 11:35:34 +02:00
SemanticSelection.h Use pseudo parser for folding ranges 2022-07-18 11:35:34 +02:00
SourceCode.cpp
SourceCode.h
TidyProvider.cpp [clang-tools-extra] Use value_or instead of getValueOr (NFC) 2022-06-19 00:13:38 -07:00
TidyProvider.h
Transport.h
TUScheduler.cpp [clangd] Fix flaky throttler test 2022-07-07 18:09:54 +02:00
TUScheduler.h [clangd] Fix missing key function in PreambleThrottler 2022-07-06 18:27:09 +02:00
URI.cpp
URI.h
XRefs.cpp Go-to-type on smart_ptr<Foo> now also shows Foo 2022-07-11 12:13:47 +02:00
XRefs.h

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.