llvm-project/clang-tools-extra/clangd
Nathan James 71af5a19cb Reland"[clangd][NFC] Simplify handing on methods with no params"
This reverts commit 9d9ceb3745.

First time round caused some build bot failures due to older compilers not patched with the Defect Report about full specialization being allowed at class scope.
2021-01-25 20:19:57 +00:00
..
benchmarks [clangd] Add bencmark for measuring latency of DecisionForest model. 2020-10-02 18:04:31 +02:00
fuzzer [clangd] Fix fuzzer build after 7ba0779fbb 2020-09-30 11:02:05 +02:00
include-mapping [clangd] Add include-mapping for C symbols. 2019-06-21 13:32:18 +00:00
index [clangd][SwapIndex] ensure that the old index is alive while we are using it via the function returned by `SwapIndex::indexedFiles()` call 2021-01-22 16:26:39 +03:00
indexer [clangd] Improve clangd-indexer performance 2020-11-11 14:38:06 +03:00
quality [clangd] Update CC Ranking model with better sampling. 2021-01-15 18:13:24 +01:00
refactor [clangd] Make ExpandAutoType not available on template params. 2021-01-15 14:19:05 +01:00
support [clangd] Use atomics instead of locks to track periodic memory trimming 2020-12-22 22:32:22 +01:00
test [clangd] Index local classes, virtual and overriding methods. 2021-01-19 16:18:48 +01:00
tool [clangd] Retire some flags for uncontroversial, stable features. 2021-01-20 11:47:12 +01:00
unittests [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
xpc [clangd] makeStringError,make_error<StringError> -> error() 2020-09-14 11:48:31 +02:00
AST.cpp Fix the warnings on unused variables (NFC) 2021-01-13 13:32:40 -08:00
AST.h [clangd] Smarter hover on auto and decltype 2020-12-18 16:27:09 +01:00
ASTSignals.cpp [clangd] Trivial: Documentation fix in ASTSignals. 2021-01-14 18:38:42 +01:00
ASTSignals.h [clangd] Trivial: Documentation fix in ASTSignals. 2021-01-14 18:38:42 +01:00
CMakeLists.txt [clangd] Make AST-based signals available to runWithPreamble. 2021-01-14 18:34:50 +01:00
CSymbolMap.inc [clangd] Add include-mapping for C symbols. 2019-06-21 13:32:18 +00:00
ClangdLSPServer.cpp Reland"[clangd][NFC] Simplify handing on methods with no params" 2021-01-25 20:19:57 +00:00
ClangdLSPServer.h Reland"[clangd][NFC] Simplify handing on methods with no params" 2021-01-25 20:19:57 +00:00
ClangdServer.cpp [clangd] Inject context provider rather than config into ClangdServer. NFC 2021-01-22 14:34:30 +01:00
ClangdServer.h [clangd] Inject context provider rather than config into ClangdServer. NFC 2021-01-22 14:34:30 +01:00
CodeComplete.cpp [clangd] Fix division by zero when computing scores 2021-01-20 12:50:25 +01:00
CodeComplete.h [clangd] Derive new signals in CC from ASTSignals. 2021-01-18 17:37:27 +01:00
CodeCompletionStrings.cpp [clangd] Fix invalid UTF8 when extracting doc comments. 2020-09-30 16:05:12 +02:00
CodeCompletionStrings.h
CollectMacros.cpp [clangd] Add main file macros into the main-file index. 2021-01-14 15:10:17 +03:00
CollectMacros.h [clangd] Add main file macros into the main-file index. 2021-01-14 15:10:17 +03:00
CompileCommands.cpp [clangd] NFC: Use SmallVector<T> where possible 2020-12-10 13:36:49 +01:00
CompileCommands.h [clangd] NFC: Use SmallVector<T> where possible 2020-12-10 13:36:49 +01:00
Compiler.cpp [clangd] Remove the recovery-ast options. 2021-01-20 11:23:57 +01:00
Compiler.h [clangd] Retire some flags for uncontroversial, stable features. 2021-01-20 11:47:12 +01:00
Config.cpp [clangd] config() -> Config::current to avoid confict with NS 2020-06-29 23:05:19 +02:00
Config.h [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
ConfigCompile.cpp [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
ConfigFragment.h [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
ConfigProvider.cpp [clangd][NFC] Small tweak to combined provider 2020-12-08 17:12:56 +00:00
ConfigProvider.h [clangd] Publish config file errors over LSP 2020-12-07 11:07:32 +01:00
ConfigYAML.cpp [clangd] Provide suggestions with invalid config keys 2020-12-15 18:16:17 +00:00
Diagnostics.cpp [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
Diagnostics.h [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
DraftStore.cpp [clangd] Add error() function for creating formatv-style llvm::Errors. NFC 2020-09-14 10:43:42 +02:00
DraftStore.h [clangd] Move non-clang base pieces into separate support/ lib. NFCI 2020-04-29 15:57:12 +02:00
DumpAST.cpp Revert "Following up on PR48517, fix handling of template arguments that refer" 2021-01-20 15:55:35 +01:00
DumpAST.h [clangd] Add textDocument/ast extension method to dump the AST 2020-11-20 01:13:28 +01:00
ExpectedTypes.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ExpectedTypes.h
FS.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
FS.h [clangd] Move non-clang base pieces into separate support/ lib. NFCI 2020-04-29 15:57:12 +02:00
Features.inc.in [clangd] Trim memory periodically when using glibc malloc 2020-12-22 08:54:28 +01:00
FileDistance.cpp [clangd] NFC: Use SmallVector<T> where possible 2020-12-10 13:36:49 +01:00
FileDistance.h Move endian constant from Host.h to SwapByteOrder.h, prune include 2019-10-19 00:48:11 +00:00
FindSymbols.cpp [clangd] Fix division by zero when computing scores 2021-01-20 12:50:25 +01:00
FindSymbols.h [clang-tools-extra] NFC: Fix trivial typo in documents and comments 2020-04-05 15:28:40 +09:00
FindTarget.cpp Revert "Following up on PR48517, fix handling of template arguments that refer" 2021-01-20 15:55:35 +01:00
FindTarget.h [clangd] Avoid recursion in TargetFinder::add() 2021-01-12 13:57:54 -05:00
Format.cpp Lexer: Update the Lexer to use MemoryBufferRef, NFC 2020-10-19 19:10:21 -04:00
Format.h
FuzzyMatch.cpp
FuzzyMatch.h
GlobalCompilationDatabase.cpp [clangd] Move DirBasedCDB broadcasting onto its own thread. 2021-01-20 11:22:55 +01:00
GlobalCompilationDatabase.h [clangd] Move DirBasedCDB broadcasting onto its own thread. 2021-01-20 11:22:55 +01:00
HeaderSourceSwitch.cpp [clangd][NFC] Use PathRef for getCorrespondingHeaderOrSource 2021-01-07 02:41:19 +00:00
HeaderSourceSwitch.h [clangd][NFC] Use PathRef for getCorrespondingHeaderOrSource 2021-01-07 02:41:19 +00:00
Headers.cpp [clangd] locateMacroAt handles patched macros 2020-05-29 12:46:54 +02:00
Headers.h [clangd] Add llvm:: qualifier to work around GCC bug. NFC 2020-12-17 12:51:12 +01:00
Hover.cpp [clangd] Make our printing policies for Hover more consistent, especially tags 2020-12-19 00:52:55 +01:00
Hover.h [clangd] Improve hover on arguments to function call 2020-07-03 11:51:15 +02:00
IncludeFixer.cpp [clangd] Value initialize SymbolIDs 2020-11-02 11:37:47 +01:00
IncludeFixer.h [clangd] Compute scopes eagerly in IncludeFixer 2019-08-06 11:37:50 +00:00
JSONTransport.cpp [clangd] Avoid reallocating buffers for each message read: 2021-01-13 17:40:33 +01:00
ParsedAST.cpp [clangd] Allow diagnostics to be suppressed with configuration 2021-01-25 15:59:07 +01:00
ParsedAST.h [clangd] Express dumpAST in tests as a customAction() 2020-08-13 14:27:32 +02:00
PathMapping.cpp [clangd] Add error() function for creating formatv-style llvm::Errors. NFC 2020-09-14 10:43:42 +02:00
PathMapping.h [clangd] Add path mappings functionality 2020-01-07 12:40:51 +01:00
Preamble.cpp Frontend: Change ComputePreambleBounds to take MemoryBufferRef, NFC 2020-11-11 17:19:51 -05:00
Preamble.h [clangd] Make use of preamble bounds from the patch inside ReplayPreamble 2020-06-17 18:32:59 +02:00
Protocol.cpp [clangd] Add textDocument/ast extension method to dump the AST 2020-11-20 01:13:28 +01:00
Protocol.h Reland"[clangd][NFC] Simplify handing on methods with no params" 2021-01-25 20:19:57 +00:00
Quality.cpp [clangd] Use ASTSignals in Heuristics CC Ranking. 2021-01-19 19:48:42 +01:00
Quality.h [clangd] Derive new signals in CC from ASTSignals. 2021-01-18 17:37:27 +01:00
QueryDriverDatabase.cpp [clangd] Split out a base class for delegating GlobalCompilationDatabases. NFC 2021-01-13 16:20:33 +01:00
README.md [clangd] Add documentation for building and testing clangd 2021-01-22 11:53:31 +01:00
RIFF.cpp [clangd] Add error() function for creating formatv-style llvm::Errors. NFC 2020-09-14 10:43:42 +02:00
RIFF.h [clangd] Improve serialization error messages. NFC 2020-07-08 17:31:40 +02:00
Selection.cpp Remove references to the ast_type_traits namespace 2020-12-11 00:58:46 +01:00
Selection.h Remove references to the ast_type_traits namespace 2020-12-11 00:58:46 +01:00
SemanticHighlighting.cpp [clangd] Add main file macros into the main-file index. 2021-01-14 15:10:17 +03:00
SemanticHighlighting.h [clangd] Support textDocument/semanticTokens/edits 2020-04-02 17:38:29 +02:00
SemanticSelection.cpp [clang] Simplify buildSyntaxTree API 2020-11-09 22:49:54 +01:00
SemanticSelection.h [clangd] Implement textDocument/foldingRange 2020-07-14 09:28:42 +02:00
SourceCode.cpp [clangd] Fix locateMacroAt() for macro definition outside preamble 2020-12-13 18:33:33 -05:00
SourceCode.h [clangd] Add isKeyword function. 2020-10-05 15:11:24 +02:00
StdSymbolMap.inc [clangd] Add include-mapping for C symbols. 2019-06-21 13:32:18 +00:00
TUScheduler.cpp [clangd] Make AST-based signals available to runWithPreamble. 2021-01-14 18:34:50 +01:00
TUScheduler.h [clangd] Make AST-based signals available to runWithPreamble. 2021-01-14 18:34:50 +01:00
TidyProvider.cpp [clangd] Fix windows path handling in .clang-tidy parsing 2020-12-19 02:24:25 +01:00
TidyProvider.h [clangd] Validate clang-tidy Checks in clangd config. 2020-12-15 21:10:57 +00:00
Transport.h [NFC] Fix typos in Clangd and Clang 2019-12-16 10:54:40 +01:00
URI.cpp [clangd] Remove dead variable. NFC 2020-09-30 23:19:15 +02:00
URI.h [clangd] Simplify the callside of URI::resolve, NFC. 2019-09-23 14:39:37 +00:00
XRefs.cpp [clangd] Extend find-refs to include overrides. 2021-01-20 13:23:20 +01:00
XRefs.h [clangd] go-to-implementation on a base class jumps to all subclasses. 2021-01-08 13:50:57 +01:00

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.