diff options
author | Sam McCall <sam.mccall@gmail.com> | 2017-03-13 15:55:59 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2017-03-13 15:55:59 +0000 |
commit | 9c5ebf703940b28b4da08c6d3eee0f415eed4343 (patch) | |
tree | 36fcf1c05f295631c798378bfde35f8f304dd45e /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 6023a2501c67ebe2eb726840c11cc95b4b91af5c (diff) | |
download | bcm5719-llvm-9c5ebf703940b28b4da08c6d3eee0f415eed4343.tar.gz bcm5719-llvm-9c5ebf703940b28b4da08c6d3eee0f415eed4343.zip |
[include-fixer] Add fuzzy SymbolIndex, where identifier needn't match exactly.
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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions