16 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_FUZZYMATCH_H 17 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_FUZZYMATCH_H 19 #include "llvm/ADT/ArrayRef.h" 20 #include "llvm/ADT/Optional.h" 21 #include "llvm/ADT/SmallString.h" 22 #include "llvm/ADT/StringRef.h" 23 #include "llvm/Support/raw_ostream.h" 68 llvm::MutableArrayRef<CharRole> Roles);
81 llvm::Optional<float>
match(llvm::StringRef Word);
83 llvm::StringRef
pattern()
const {
return llvm::StringRef(Pat, PatN); }
84 bool empty()
const {
return PatN == 0; }
89 llvm::SmallString<256>
dumpLast(llvm::raw_ostream &)
const;
93 constexpr
static int MaxPat = 63, MaxWord = 127;
99 constexpr
static Action Miss =
false;
100 constexpr
static Action Match =
true;
102 bool init(llvm::StringRef Word);
104 bool allowMatch(
int P,
int W, Action Last)
const;
105 int skipPenalty(
int W, Action Last)
const;
106 int matchBonus(
int P,
int W, Action Last)
const;
119 char LowWord[MaxWord];
122 bool WordContainsPattern;
128 signed int Score : 15;
131 ScoreInfo Scores[MaxPat + 1][MaxWord + 1][ 2];
unsigned char CharTypeSet
FuzzyMatcher(llvm::StringRef Pattern)
llvm::SmallString< 256 > dumpLast(llvm::raw_ostream &) const
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
llvm::Optional< float > match(llvm::StringRef Word)
llvm::StringRef pattern() const
CharTypeSet calculateRoles(StringRef Text, MutableArrayRef< CharRole > Roles)