hanchenye-llvm-project/clang-tools-extra/clangd
Marc-Andre Laperle b387b6e6dc [clangd] Implementation of workspace/symbol request
Summary:
This is a basic implementation of the "workspace/symbol" request which is
used to find symbols by a string query. Since this is similar to code completion
in terms of result, this implementation reuses the "fuzzyFind" in order to get
matches. For now, the scoring algorithm is the same as code completion and
improvements could be done in the future.

The index model doesn't contain quite enough symbols for this to cover
common symbols like methods, enum class enumerators, functions in unamed
namespaces, etc. The index model will be augmented separately to achieve this.

Reviewers: sammccall, ilya-biryukov

Reviewed By: sammccall

Subscribers: jkorous, hokein, simark, sammccall, klimek, mgorny, ilya-biryukov, mgrang, jkorous-apple, ioeric, MaskRay, cfe-commits

Differential Revision: https://reviews.llvm.org/D44882

llvm-svn: 330637
2018-04-23 20:00:52 +00:00
..
clients/clangd-vscode [clangd] Bump v0.0.6 for vscode-clangd. 2018-04-09 15:37:09 +00:00
fuzzer [clangd-fuzzer] Update ClangdLSPServer constructor call. 2018-03-09 23:02:22 +00:00
global-symbol-builder [clangd] Collect the number of files referencing a symbol in the static index. 2018-03-12 14:49:09 +00:00
index [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
tool [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
AST.cpp [clangd] Use identifier range as the definition range. 2018-03-09 14:00:34 +00:00
AST.h [clangd] Use identifier range as the definition range. 2018-03-09 14:00:34 +00:00
CMakeLists.txt [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ClangdLSPServer.cpp [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ClangdLSPServer.h [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ClangdServer.cpp [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ClangdServer.h [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ClangdUnit.cpp [clangd] move comment to the right place. NFC 2018-04-06 07:48:21 +00:00
ClangdUnit.h [clangd] Revamp handling of diagnostics. 2018-03-12 15:28:22 +00:00
CodeComplete.cpp [clangd] Handle multiple callbacks from Sema's completion 2018-03-16 15:23:44 +00:00
CodeComplete.h [clangd] Pass Context implicitly using TLS. 2018-01-31 13:40:48 +00:00
CodeCompletionStrings.cpp [clangd] Pull CodeCompletionString handling logic into its own file and add unit test. 2017-12-20 17:24:31 +00:00
CodeCompletionStrings.h [clangd] Pull CodeCompletionString handling logic into its own file and add unit test. 2017-12-20 17:24:31 +00:00
CompileArgsCache.cpp [clangd] Fixed the file comment of new file. NFC 2018-01-25 14:30:46 +00:00
CompileArgsCache.h [clangd] Added forgotten files 2018-01-25 14:29:29 +00:00
Compiler.cpp [clangd] Log all ignored diagnostics. 2018-02-12 12:48:51 +00:00
Compiler.h [clangd] Log all ignored diagnostics. 2018-02-12 12:48:51 +00:00
Context.cpp [clangd] Address FIXME and fix comment 2018-02-25 07:21:16 +00:00
Context.h [clangd] Fix Context::derive to actually call the right method. 2018-04-23 15:27:42 +00:00
Diagnostics.cpp [clangd] synthesize fix message when the diagnostic doesn't provide one. 2018-04-03 17:35:57 +00:00
Diagnostics.h [clangd] Prune some dead declarations. No functionality change. 2018-04-23 14:58:18 +00:00
DraftStore.cpp [clangd] Support incremental document syncing 2018-03-26 14:41:40 +00:00
DraftStore.h [clangd] Support incremental document syncing 2018-03-26 14:41:40 +00:00
FindSymbols.cpp [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
FindSymbols.h [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
Function.h [clangd] Remove Tagged and some related APIs from ClangdServer. 2018-03-12 23:22:35 +00:00
FuzzyMatch.cpp [clangd] Fix unintentionally loose fuzzy matching, and the tests masking it. 2018-03-05 17:34:33 +00:00
FuzzyMatch.h [clangd] Fix unintentionally loose fuzzy matching, and the tests masking it. 2018-03-05 17:34:33 +00:00
GlobalCompilationDatabase.cpp Parse .h files as objective-c++ if we don't have a compile command. 2018-04-20 11:35:17 +00:00
GlobalCompilationDatabase.h Parse .h files as objective-c++ if we don't have a compile command. 2018-04-20 11:35:17 +00:00
Headers.cpp [clangd] don't insert new includes if either original header or canonical header is already included. 2018-02-26 08:32:13 +00:00
Headers.h [clangd] don't insert new includes if either original header or canonical header is already included. 2018-02-26 08:32:13 +00:00
JSONExpr.cpp [clangd] Fix repeated word typo. NFC 2018-03-29 20:03:16 +00:00
JSONExpr.h [clangd] Put all #includes in one block in clangd source files. NFC 2017-12-14 21:22:03 +00:00
JSONRPCDispatcher.cpp [clangd][tests] Fix delimiter handling 2018-04-23 15:58:42 +00:00
JSONRPCDispatcher.h [clangd] Support simpler JSON-RPC stream parsing for lit tests. 2018-02-06 10:47:30 +00:00
Logger.cpp [clangd] Pass Context implicitly using TLS. 2018-01-31 13:40:48 +00:00
Logger.h [clangd] Pass Context implicitly using TLS. 2018-01-31 13:40:48 +00:00
Path.h Restored r303067 and fixed failing test. 2017-05-16 09:38:59 +00:00
Protocol.cpp [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
Protocol.h [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ProtocolHandlers.cpp [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
ProtocolHandlers.h [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
SourceCode.cpp [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
SourceCode.h [clangd] Implementation of workspace/symbol request 2018-04-23 20:00:52 +00:00
TUScheduler.cpp [clangd] Don't expose vfs in TUScheduler::runWithPreamble. 2018-03-14 17:46:52 +00:00
TUScheduler.h [clangd] Fix indentation in the comment. NFC 2018-03-14 17:49:19 +00:00
Threading.cpp [clangd] Debounce streams of updates. 2018-03-02 08:56:37 +00:00
Threading.h [clangd] Debounce streams of updates. 2018-03-02 08:56:37 +00:00
Trace.cpp [clangd] Tracing: name worker threads, and enforce naming scheduled async tasks 2018-02-19 09:56:28 +00:00
Trace.h [clangd] Prune some dead declarations. No functionality change. 2018-04-23 14:58:18 +00:00
URI.cpp [clangd] Allow using customized include path in URI. 2018-04-09 15:09:44 +00:00
URI.h [clangd] Allow using customized include path in URI. 2018-04-09 15:09:44 +00:00
XRefs.cpp [index] Fix methods that take a shared_ptr to just take a reference. 2018-04-23 14:30:21 +00:00
XRefs.h [clangd] Implement textDocument/hover 2018-02-16 21:38:15 +00:00