forked from OSchip/llvm-project
9c5ebf7039
Summary: Add fuzzy SymbolIndex, where identifier needn't match exactly. The purpose for this is global autocomplete in clangd. The query will be a partial identifier up to the cursor, and the results will be suggestions. It's in include-fixer because: - it handles SymbolInfos, actually SymbolIndex is exactly the right interface - it's a good harness for lit testing the fuzzy YAML index - (Laziness: we can't unit test clangd until reorganizing with a tool/ dir) Other questionable choices: - FuzzySymbolIndex, which just refines the contract of SymbolIndex. This is an interface to allow extension to large monorepos (*cough*) - an always-true safety check that Identifier == Name is removed from SymbolIndexManager, as it's not true for fuzzy matching - exposing -db=fuzzyYaml from include-fixer is not a very useful feature, and a non-orthogonal ui (fuzziness vs data source). -db=fixed is similar though. Reviewers: bkramer Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D30720 llvm-svn: 297630 |
||
---|---|---|
.. | ||
find-all-symbols | ||
plugin | ||
tool | ||
CMakeLists.txt | ||
FuzzySymbolIndex.cpp | ||
FuzzySymbolIndex.h | ||
InMemorySymbolIndex.cpp | ||
InMemorySymbolIndex.h | ||
IncludeFixer.cpp | ||
IncludeFixer.h | ||
IncludeFixerContext.cpp | ||
IncludeFixerContext.h | ||
SymbolIndex.h | ||
SymbolIndexManager.cpp | ||
SymbolIndexManager.h | ||
YamlSymbolIndex.cpp | ||
YamlSymbolIndex.h |