16#include "llvm/ADT/StringRef.h"
17#include "llvm/ADT/StringSet.h"
18#include "llvm/Support/Error.h"
24template <
class Type>
class Key {
26 static_assert(!std::is_reference_v<Type>,
27 "Reference arguments to Key<> are not allowed");
29 constexpr Key() =
default;
56 bool AllowColumnsBeyondLineLength =
true);
Key & operator=(Key const &)=delete
Key & operator=(Key &&)=delete
Whether current platform treats paths case insensitively.
void unionRanges(Range &A, Range B)
llvm::Error applyChange(std::string &Contents, const TextDocumentContentChangeEvent &Change)
Apply an incremental update to a text document.
size_t lspLength(llvm::StringRef Code)
llvm::StringSet collectWords(llvm::StringRef Content)
Position offsetToPosition(llvm::StringRef Code, size_t Offset)
llvm::Expected< size_t > positionToOffset(llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true)
Key< OffsetEncoding > kCurrentOffsetEncoding