llvm-project/clang-tools-extra/clangd
Sam McCall 3f0243fdaf [clangd] Incorporate transitive #includes into code complete proximity scoring.
Summary:
We now compute a distance from the main file to the symbol header, which
is a weighted count of:
 - some number of #include traversals from source file --> included file
 - some number of FS traversals from file --> parent directory
 - some number of FS traversals from parent directory --> child file/dir
This calculation is performed in the appropriate URI scheme.

This means we'll get some proximity boost from header files in main-file
contexts, even when these are in different directory trees.

This extended file proximity model is not yet incorporated in the index
interface/implementation.

Reviewers: ioeric

Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, cfe-commits

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

llvm-svn: 336177
2018-07-03 08:09:29 +00:00
..
clients/clangd-vscode [clangd] Bump v0.0.6 for vscode-clangd. 2018-04-09 15:37:09 +00:00
fuzzer [clangd] Fix fuzzer after r333993 2018-06-08 20:25:05 +00:00
global-symbol-builder [clangd] Enable parsing of non-doxygen comments in global-symbol-builder 2018-05-30 10:43:00 +00:00
index [clangd] Always remove dots before converting paths to URIs in symbol collector. 2018-06-25 11:50:11 +00:00
tool [clangd] Improve output of --help and --version. NFC. 2018-06-29 13:24:20 +00:00
AST.cpp [clangd] Expose qualified symbol names in CompletionItem (C++ structure only, no json). 2018-06-22 10:46:59 +00:00
AST.h [clangd] Expose qualified symbol names in CompletionItem (C++ structure only, no json). 2018-06-22 10:46:59 +00:00
CMakeLists.txt [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
ClangdLSPServer.cpp [clangd] ClangdServer::codeComplete return CodeCompleteResult, not LSP struct. 2018-07-02 11:13:16 +00:00
ClangdLSPServer.h [clangd] Move caching of compile args out of ClangdServer. 2018-06-13 09:20:41 +00:00
ClangdServer.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
ClangdServer.h [clangd] ClangdServer::codeComplete return CodeCompleteResult, not LSP struct. 2018-07-02 11:13:16 +00:00
ClangdUnit.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
ClangdUnit.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
CodeComplete.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
CodeComplete.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
CodeCompletionStrings.cpp [clangd] Do not show namespace comments. 2018-06-27 09:47:20 +00:00
CodeCompletionStrings.h [clangd] More precise representation of symbol names/labels in the index. 2018-06-22 16:11:35 +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] context key constructor is constexpr. NFC 2018-06-15 12:39:21 +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
FileDistance.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
FileDistance.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
FindSymbols.cpp [clangd] Use workspace root path as hint path for resolving URIs in workspace/symbol 2018-06-19 09:33:53 +00:00
FindSymbols.h [clangd] Use workspace root path as hint path for resolving URIs in workspace/symbol 2018-06-19 09:33:53 +00:00
Function.h [clangd] Remove Tagged and some related APIs from ClangdServer. 2018-03-12 23:22:35 +00:00
FuzzyMatch.cpp [clangd] FuzzyMatch: forbid tail-tail matches after a miss: [pat] !~ "panther" 2018-06-14 13:50:30 +00:00
FuzzyMatch.h [clangd] FuzzyMatch: forbid tail-tail matches after a miss: [pat] !~ "panther" 2018-06-14 13:50:30 +00:00
GlobalCompilationDatabase.cpp [clangd] Move caching of compile args out of ClangdServer. 2018-06-13 09:20:41 +00:00
GlobalCompilationDatabase.h [clangd] Move caching of compile args out of ClangdServer. 2018-06-13 09:20:41 +00:00
Headers.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
Headers.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
JSONExpr.cpp [clangd] Fix repeated word typo. NFC 2018-03-29 20:03:16 +00:00
JSONExpr.h [clangd] Hover should return null when not hovering over anything. 2018-06-04 10:37:16 +00:00
JSONRPCDispatcher.cpp [clangd] Rewrite JSON dispatcher loop using C IO (FILE*) instead of std::istream. 2018-06-05 09:34:46 +00:00
JSONRPCDispatcher.h [clangd] Rewrite JSON dispatcher loop using C IO (FILE*) instead of std::istream. 2018-06-05 09:34:46 +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 PrintEscapedString -> printEscapedString 2018-05-31 17:36:31 +00:00
Protocol.h [clangd] Remove CompletionItem::SymbolScope extension. 2018-07-03 07:21:15 +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
Quality.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
Quality.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
SourceCode.cpp [clangd] Move helpers that convert Replacements to TextEdits to SourceCode.h 2018-05-11 12:12:08 +00:00
SourceCode.h [clangd] Move helpers that convert Replacements to TextEdits to SourceCode.h 2018-05-11 12:12:08 +00:00
TUScheduler.cpp [clangd] Fix a data race in TUScheduler 2018-06-28 11:04:45 +00:00
TUScheduler.h [clangd] Keep only a limited number of idle ASTs in memory 2018-06-01 10:08:43 +00:00
Threading.cpp [clangd] Trace time the operations wait on Semaphore. 2018-06-12 11:56:21 +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] clang-format the source code. NFC 2018-05-30 12:41:19 +00:00
URI.cpp [clangd] Allow using customized include path in URI. 2018-04-09 15:09:44 +00:00
URI.h [clangd] clang-format the source code. NFC 2018-05-30 12:41:19 +00:00
XRefs.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
XRefs.h [clangd] Hover should return null when not hovering over anything. 2018-06-04 10:37:16 +00:00