ccls/src/file_contents.h
Jacob Dufault 786ac0bc4f Merge FileContents and FileContentsWithOffsets.
Also try to more aggressively load FileContents when indexing to increase reliability.
2018-01-10 21:16:46 -08:00

24 lines
541 B
C++

#pragma once
#include "position.h"
#include "optional.h"
#include <string>
#include <vector>
struct FileContents {
FileContents();
FileContents(const std::string& path, const std::string& content);
optional<int> ToOffset(Position p) const;
optional<std::string> ContentsInRange(Range range) const;
std::string path;
std::string content;
// {0, 1 + position of first newline, 1 + position of second newline, ...}
std::vector<int> line_offsets_;
};
using FileContentsMap = std::unordered_map<std::string, FileContents>;